1. 程式人生 > >mysql/mariadb 數據庫配置

mysql/mariadb 數據庫配置

exit ant .cn ctrl+ my.cnf mysql參數 生效 led ade

1. 啟動mariadb

  systemctl start mariadb

2. 設置開機啟動mariadb

  systemctl enable mariadb

一、修改用戶密碼,以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*/

mysql/mariadb 數據庫配置