当前位置:网络安全 > 在Ubuntu中安装和配置MySQL数据库的计划和操作

在Ubuntu中安装和配置MySQL数据库的计划和操作

  • 发布:2023-10-09 21:03

下面的文章主要介绍在Ubuntu中安装和配置MySQL数据库的3个有用的计划,以及正确配置MySQL数据库的实际操作过程以及如何正确配置管理 MySQL 数据库。以下是文章的主要内容说明,希望您能有更深入的了解。 三种安装方法: 1. 从 Internet 安装 sudo apt-get install mysql-server。安装完成后,Mysql环境变量已经自动配置完毕,可以直接使用mysql命令。 注意:建议将/etc/apt/source.list中的cn更改为us。美国的服务器比中国的服务器快得多。 2、安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。 3、二进制包安装:安装完成后,Mysql环境变量已经自动配置完毕。可以直接使用mysql命令。 在线安装和二进制包安装都比较简单。重点是安装离线包。 1. mysql组添加 2. mkdir /home/mysql 3. useradd -g MySQL -d /home/MySQLmysql 4、复制mysql-5.0.45-linux-i686-icc-glibc23.tar.gz到/usr/local目录 5、解压:tar zxvf mysql-5.0.45-linux-i686-icc-glibc23.tar.gz 6. ln -s mysql-5.0.45-linux-i686-icc-glibc23 mysql 7. cd /usr/local/mysql 8. chown -R MySQL。 9. chgrp -R MySQL。 10.scripts/mysql_install_db --user=MySQL(必须在mysql目录下执行,注意输出文本,其中包含更改root密码和启动mysql的命令) 11.设置root密码:./bin/mysqladmin -u root密码 'passw0rd' 配置MySQL并管理MySQL:1、修改mysql最大连接数:cp support-files/my-medium.cnf ./my.cnf,vim my.cnf,添加或修改max_connections=1024 关于my.cnf:mysql按照以下顺序搜索my.cnf:/etc、mysql安装目录以及安装目录中的数据。 /etc下的都是全局设置。 2、启动mysql:/usr/local/mysql/bin/mysqld_safe --user=MySQL& 检查mysql版本:mysqladmin -u root -p version 注意:对于在线安装或二进制安装,可以直接使用以下命令启动和停止mysql:/etc/init.d/MySQLstart|stop|restart 3、停止mysql:mysqladmin -uroot -ppassw0rd shutdown 注意u和p后面不要有空格 4、设置mysql自动启动:在/etc/rc.local文件中添加启动命令 5.允许root远程登录: 1)本地登录mysql:MySQL -u root -p(-p必须有);更改数据库:使用mysql; 2) 从所有主机:使用授予选项将 *.* 上的所有权限授予由“passw0rd”标识的 root@"%"; 3) 从指定主机:使用 grant option 将 *.* 上的所有权限授予由“passw0rd”标识的 root@“192.168.11.205”;同花顺特权; 4)进入mysql库查看是否添加了host%的数据:use mysql;从用户中选择*; 6、创建数据库并创建用户: 1)创建数据库:创建数据库test1; 2)创建用户并授权:将test1.*上的所有权限授予“passw0rd”标识的user_test@"%",并带有grant选项; 3)删除数据库:drop database test1; 7.删除权限:1) 撤销test1@"%"对test1.*的所有权限; 2)使用mysql; 3) 从user=“root”和host=“%”的用户中删除; 4)同花顺特权; 8.显示所有数据库:显示数据库;显示数据库中所有表:showtables; 9、远程登录mysql:mysql -h ip -u user -p 10、设置字符集(以utf8为例): 1)检查当前编码:显示“character%”等变量; 2) 修改my.cnf,在[client]下添加default-character-set=utf8 3) 添加default-character-set=utf8, init_connect='SET NAMES utf8;'在[服务器]下 4)重新启动mysql。 注意:只有修改/etc下的my.cnf才能使客户端设置生效。安装目录中的设置只能使服务器设置生效。 只需修改/etc/mysql/my.cnf即可进行二进制安装 11.将旧数据升级为utf8(旧数据以latin1为例): 1)导出旧数据:mysqldump --default-character-set=latin1 -hlocalhost -uroot -B dbname --tables old_table >old.sql 2)转换编码(Linux和UNIX): iconv -t utf-8 -f gb2312 -c old.sql > new.sql 这里假设原表中的数据是gb2312。您还可以删除 -f 并让 iconv 自动确定原始字符集。 3)导入:修改new.sql,在插入或修改语句前添加一句:“SET NAMES utf8;”,并将gb2312全部修改为utf8,保存。 MySQL-hlocalhost -uroot -p dbname < new.sql 如果报max_allowed_pa​​cket错误,是因为文件太大。 mysql的默认参数是1M。只需修改my.cnf中的值即可(需要重启mysql)。12、支持utf8的客户端:Mysql-Front、Navicat、PhpMyAdmin、Linux Shell(连接后执行SET NAMES utf8;即可读写utf8数据。10.4设置后,无需执行这句再次) 13. 备份与恢复 备份单个数据库:mysqldump -uroot -p -B dbname > dbname.sql 备份所有数据库:mysqldump -uroot -p --all-databases > all.sql 备份表:mysqldump -uroot -p -B dbname --table 表名 > 表名.sql 恢复数据库:MySQL-uroot -p < name.sql 恢复表:MySQL-uroot -p dbname < name.sql(必须指定数据库) 14. 复制 Mysql支持单向异步复制,即一台服务器作为主服务器,一台或多台其他服务器作为从服务器。复制是通过二进制日志实现的,二进制日志由master写入,由slave读取。可以实现多个主服务器,但是会遇到单个服务器不会遇到的问题(不推荐)。 1)。在主服务器上创建专门用于复制的用户:将 *.* 上的复制从属权限授予 'replicationuser'@'192.168.0.87' 标识为 'iveson'; 2)。刷新主服务器上的所有表并阻止写入语句:使用读锁刷新表;然后读取主服务器上的二进制文件名和分支:SHOW MASTER STATUS;记录File和Position的值。记录后关闭主服务器:mysqladmin -uroot -ppassw0rd shutdown 如果输出为空,则表示服务器上未启用二进制日志。在my.cnf文件中的[mysqld]下添加log-bin=mysql-bin,重启后就有了。 3)。为主服务器创建快照 您需要创建需要在主服务器上复制的数据库的快照。您可以在 Windows 上使用 zip 格式。对于 Linux 和 Unix,最好使用 tar 命令。然后上传到从服务器mysql的数据目录并解压。cd mysql-data-dir tar cvzf mysql-snapshot.tar ./mydb 注意:快照不应包含任何日志文件或*.info 文件,仅包含要复制的数据库的数据文件(*.frm 和*.opt)文件。 可以使用数据库备份(mysqldump)对从服务器进行数据恢复,保证数据的一致性。 4).确认主服务器上 my.cnf 文件的 [mysqld] 部分包含 log-bin 选项和 server-id,然后启动主服务器: [mysqld] log-bin=mysql-bin server-id=1 5)。停止从服务器,添加server-id,然后启动从服务器: [mysqld] 服务器 ID=2 注意:这里的server-id是从服务器的ID,必须与主服务器和其他从服务器不同。 可以在从服务器的配置Mysql文件中添加只读选项,这样从服务器只接受主服务器的SQL,保证数据不会被其他方式修改。 6).在从服务器上执行以下语句,将选项替换为真实的系统值: 将 master 更改为 MASTER_HOST='master_host', MASTER_USER='replication_user',MASTER_PASSWORD='replication_pwd', MASTER_LOG_FILE='recorded_log_file_name',MASTER_LOG_POS=log_position; 7).启动slave线程:mysql> START SLAVE;停止slave线程:停止slave; (注:主服务器的防火墙应允许3306端口连接) 验证:此时主服务器和从服务器上的数据应该一致。在主服务器上插入、修改、删除数据都会在从服务器上更新。创建表、删除表等也是同样的道理。 【编辑精选】 MySQL修改root密码的3种方法介绍 MySQL存储过程中的语法学习 MySQL存储过程中的基本功能说明 MySQLDELETE语法实际操作及代码 MySQL数据库内存调优实践

相关文章

最新资讯