第七章 第五节 MySql配置及相关命令

本文介绍MySQL安装后的配置及性能优化方法,包括修改密码、字符集设置、启动与停止、目录更改、备份与恢复等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博客分类:
 

        MySQL安装完毕后我们需要对它进行一些设置及性能优化,主要包括字符集设置,启动设置,连接优化,表优化,分区优化等等。

 

        一 修改MySQL密码及用户

        1.修改mysql用户密码:
        默认安装的mysql初始root用户没有密码,需要运行mysql,进入mysql命令状态,运行命令:

Sql代码 复制代码  收藏代码
  1. select Host , User , Password from user; 显示当前用户和密码。   
  2. update user set password=password('123456'where user='root'; 修改root用户密码  
select Host , User , Password from user; 显示当前用户和密码。
update user set password=password('123456') where user='root'; 修改root用户密码

 

        2.另一种修改密码的方法:

        shell状态下输入命令: 
        

Shell代码 复制代码  收藏代码
  1. usr/bin/mysqladmin -u root password 'new-password'   
usr/bin/mysqladmin -u root password 'new-password' 

 
        格式:mysqladmin -u用户名 -p旧密码 password 新密码
   eg: 
        给root加个密码123456。 
        输入以下命令 :

Shell代码 复制代码  收藏代码
  1. /usr/bin/mysqladmin -u root password '123456'  
/usr/bin/mysqladmin -u root password '123456'

        注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。


        3.添加mysql用户:

Sql代码 复制代码  收藏代码
  1. insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("%","ccs",password("ccs"),'','','');  
insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("%","ccs",password("ccs"),'','','');

         ‘%’代表任何ip都可以访问,可以根据具体情况设置成指定ip。


        4.授权mysql用户:

Sql代码 复制代码  收藏代码
  1. grant all privileges on 数据库.表 to <A href="mailto:db1@ip">db1@ip</A> identified by '密码';   
  2. flush privileges; 刷新权限表  
grant all privileges on 数据库.表 to db1@ip identified by '密码';
flush privileges; 刷新权限表

         数据库:代表授权的数据库,eg:db1
        表:代表授权的表,*代表所有表
        db1@ip:代表用户和ip
        密码:输入该用户的密码
        all:代表所有操作权限,可以根据情况配置,eg:select,updat,delete,add

 

        二 设置MySQL字符集

        1.修改mysql字符集:
        进入mysql,运行命令:

Sql代码 复制代码  收藏代码
  1. show variables like 'char%';  
show variables like 'char%';
结果:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir| /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

 

        再输入以下命令:

Sql代码 复制代码  收藏代码
  1. SHOW VARIABLES LIKE 'collation_%';  
SHOW VARIABLES LIKE 'collation_%';
结果:
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)


        如果显示结果不是如上所示则:
        修改etc目录下的my.cnf,增加:

配置代码 复制代码  收藏代码
  1. [client]   
  2. default-character-set=utf8   
  3.     
  4. [mysqld]   
  5. default-character-set=utf8   
  6. init_connect='SET NAMES utf8'  
  7.     
  8. [mysql]   
  9. default-character-set=utf8  
[client]
default-character-set=utf8
 
[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
 
[mysql]
default-character-set=utf8

 
        2.重启mysql:

Shell代码 复制代码  收藏代码
  1. etc/init.d/mysql   [start | stop | restart]  
etc/init.d/mysql   [start | stop | restart]

 
        3.修改系统字符集:
        修改etc目录下的profile,增加:

Shell代码 复制代码  收藏代码
  1. export LANG=zh_CN.UTF-8  
  2. export LC_CTYPE="zh_CN.UTF-8"  
  3. export LC_NUMERIC="zh_CN.UTF-8"  
  4. export LC_TIME="zh_CN.UTF-8"  
  5. export LC_COLLATE="zh_CN.UTF-8"  
  6. export LC_MONETARY="zh_CN.UTF-8"  
  7. export LC_MESSAGES="zh_CN.UTF-8"  
  8. export LC_PAPER="zh_CN.UTF-8"  
  9. export LC_NAME="zh_CN.UTF-8"  
  10. export LC_ADDRESS="zh_CN.UTF-8"  
  11. export LC_TELEPHONE="zh_CN.UTF-8"  
  12. export LC_MEASUREMENT="zh_CN.UTF-8"  
  13. export LC_IDENTIFICATION="zh_CN.UTF-8"  
export LANG=zh_CN.UTF-8
export LC_CTYPE="zh_CN.UTF-8"
export LC_NUMERIC="zh_CN.UTF-8"
export LC_TIME="zh_CN.UTF-8"
export LC_COLLATE="zh_CN.UTF-8"
export LC_MONETARY="zh_CN.UTF-8"
export LC_MESSAGES="zh_CN.UTF-8"
export LC_PAPER="zh_CN.UTF-8"
export LC_NAME="zh_CN.UTF-8"
export LC_ADDRESS="zh_CN.UTF-8"
export LC_TELEPHONE="zh_CN.UTF-8"
export LC_MEASUREMENT="zh_CN.UTF-8"
export LC_IDENTIFICATION="zh_CN.UTF-8"

 

        三 启动与停止
        1.启动
   MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令:

Shell代码 复制代码  收藏代码
  1. /etc/init.d/mysql start  
/etc/init.d/mysql start

 
   2.停止MySQL

Shell代码 复制代码  收藏代码
  1. /usr/bin/mysqladmin -u root -p shutdown  
/usr/bin/mysqladmin -u root -p shutdown

 
   3.自动启动
   (1)察看mysql是否在自动启动列表中:

Shell代码 复制代码  收藏代码
  1. /sbin/chkconfig –list   
/sbin/chkconfig –list 

 

   (2)把MySQL添加到你系统的启动服务组里面去:

Shell代码 复制代码  收藏代码
  1. /sbin/chkconfig – add mysql   
/sbin/chkconfig – add mysql 

 

   (3)把MySQL从启动服务组里面删除:

 

Shell代码 复制代码  收藏代码
  1. /sbin/chkconfig – del mysql  
/sbin/chkconfig – del mysql

 

        四 更改MySQL目录
        MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
        1.home目录下建立data目录

Shell代码 复制代码  收藏代码
  1. cd /home    
  2. mkdir data  
cd /home 
mkdir data

 
        2.把MySQL服务进程停掉:

Shell代码 复制代码  收藏代码
  1. mysqladmin -u root -p shutdown  
mysqladmin -u root -p shutdown

 

        3.把/var/lib/mysql整个目录移到/home/data

Shell代码 复制代码  收藏代码
  1. mv /var/lib/mysql /home/data/   
mv /var/lib/mysql /home/data/ 

 

            这样就把MySQL的数据文件移动到了/home/data/mysql下


        4.找到my.cnf配置文件 
        如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: 

Shell代码 复制代码  收藏代码
  1. cp /usr/share/mysql/my-medium.cnf /etc/my.cnf  
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

        5.编辑MySQL的配置文件/etc/my.cnf 
        为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。

        修改"socket=/var/lib/mysql/mysql.sock"一行中等号右边的值为:/home/mysql/mysql.sock 。如下所示: 

Shell代码 复制代码  收藏代码
  1. vi my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)    
  2. # The MySQL server    
  3. [mysqld]    
  4. port = 3306    
  5. #socket = /var/lib/mysql/mysql.sock (原内容,为了更稳妥用“#”注释此行)    
  6. socket = /home/data/mysql/mysql.sock (加上此行)  
vi my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之) 
# The MySQL server 
[mysqld] 
port = 3306 
#socket = /var/lib/mysql/mysql.sock (原内容,为了更稳妥用“#”注释此行) 
socket = /home/data/mysql/mysql.sock (加上此行)

 
        6.修改MySQL启动脚本/etc/rc.d/init.d/mysql 
        最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

Shell代码 复制代码  收藏代码
  1. vi /etc/rc.d/init.d/mysql    
  2. #datadir=/var/lib/mysql    (注释此行)    
  3. datadir=/home/data/mysql   (加上此行)  
vi /etc/rc.d/init.d/mysql 
#datadir=/var/lib/mysql    (注释此行) 
datadir=/home/data/mysql   (加上此行)

 

        7.重新启动MySQL服务

Shell代码 复制代码  收藏代码
  1. /etc/rc.d/init.d/mysql start   
/etc/rc.d/init.d/mysql start 

 
        或用reboot命令重启Linux 
        如果工作正常移动就成功了,否则对照前面的7步再检查一下。

 

        五 备份与恢复
        1.备份
        例如:将上例创建的t1库备份到文件back_1中

Shell代码 复制代码  收藏代码
  1. cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第四部分内容)    
  2. mysqldump -u root -p --opt t1 > back_1  
cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第四部分内容) 
mysqldump -u root -p --opt t1 > back_1

 
        2.恢复

Shell代码 复制代码  收藏代码
  1. mysql -u root -p ccc < back_1  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值