> 数据库 > MySQL >

mysql/mariadb centos7 修改root用户密码及配置参数

一、修改用户密码,以root为例

1. 知道root密码,需要修改

方法a. 登入数据库来修改

 

 
  1. # mysql -uroot -p /*输入密码进入*/  
  2. /*第一个方式:直接编辑数据库字段*/  
  3. MariaDB [(none)]> use mysql;  
  4. MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';  
  5. MariaDB [mysql]> flush privileges;  
  6. MariaDB [mysql]> exit  
  7. /*第二个方式:修改密码,不用进入mysql*/  
  8. MariaDB [(none)]> SET password for 'root'@'localhost'=password('newpassword');  
  9. MariaDB [(none)]> exit;  

 






方法b. 使用mysqladmin

 

 
  1. /*这样做不好的地方在于密码都在命令行给明文显示出来了*/  
  2. # mysqladmin -uroot -poldpassword password newpassword /*或者*/  
  3. # mysqladmin -uroot -p password newpassword  

 



2. 忘记root密码,需要重置

 

 
  1. # systemctl stop mariadb /*先停掉当前的mysql进程,不然执行下一步说进程已经存在*/  
  2. # mysqld_safe --skip-grant-tables & /*后台直接这个mysql,界面中还会出现日志,直接ctrl+c进入命令行输入*/   
  3. # ps -ef | grep mariadb /*看进程,会突出显示--skip-grant-tables*/  
  4.   mysql     3607  3368  0 18:05 pts/0    00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql   
  5.   --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log   
  6.   --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock  
  7. # mysql /*直接进入mysql,不需要密码等,执行第一步中方法a里两种方式中任何一种即可*/  
  8. MariaDB [(none)]> use mysql;  
  9. MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';  
  10. MariaDB [mysql]> flush privileges;   
  11. MariaDB [mysql]> exit; /*这个时候用参数--skip-grant-tables启动的mysql已经会要求输入密码才能进入了*/  
  12. # pkill mysql /*用pkill来杀,kill不死,kill之后自动起来一个*/  
  13. # systemctl start mariadb /*启动正常的mysql*/  

 



 

二、更改mysql参数,以max_allowed_packet为例

方法1. 编辑配置文件

# vim /etc/my.cnf 

 

 
  1. max_allowed_packet=20M /*最大连接数*/  
  2. max_connections = 500  
# systemctl restart mariadb /*重启生效*/

 

方法2. 登入数据库来设置,不过重启就会复原,推荐直接用上面的更改配置文件的方法

MariaDB [(none)]> show variables like 'max_allowed_packet';

 

 
  1. +--------------------+---------+  
  2. | Variable_name      | Value   |  
  3. +--------------------+---------+  
  4. | max_allowed_packet | 1048576 |  
  5. +--------------------+---------+  
  6. 1 row in set (0.00 sec)  

 

MariaDB [(none)]> set global max_allowed_packet = 2*1024*1024*10; /*把query最大运行包大小从默认的1M调整为20M*/


 

(责任编辑:IT)