mariadb配置

2019-01-16  本文已影响11人  4ea0af17fd67

启动和关闭mariadb

启动

systemctl start mariadb.service

关闭

systemctl stop mariadb.service

设置服务自动启动

systemctl enable mariadb.service

修改用户密码,以root为例

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

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

# mysql -uroot -p /*输入密码进入*/
/*第一个方式:直接编辑数据库字段*/
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';
-- 修改允许远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit
/*第二个方式:修改密码,不用进入mysql*/
MariaDB [(none)]> SET password for 'root'@'localhost'=password('newpassword');
MariaDB [(none)]> exit;
方法b. 使用mysqladmin
/*这样做不好的地方在于密码都在命令行给明文显示出来了*/
# mysqladmin -uroot -poldpassword password newpassword /*或者*/
# mysqladmin -uroot -p password newpassword
  1. 忘记root密码,需要重置
# systemctl stop mariadb /*先停掉当前的mysql进程,不然执行下一步说进程已经存在*/
# mysqld_safe --skip-grant-tables & /*后台直接这个mysql,界面中还会出现日志,直接ctrl+c进入命令行输入*/ 
# ps -ef | grep mariadb /*看进程,会突出显示--skip-grant-tables*/
  mysql     3607  3368  0 18:05 pts/0    00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql 
  --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log 
  --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
# mysql /*直接进入mysql,不需要密码等,执行第一步中方法a里两种方式中任何一种即可*/
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';
MariaDB [mysql]> flush privileges; 
MariaDB [mysql]> exit; /*这个时候用参数--skip-grant-tables启动的mysql已经会要求输入密码才能进入了*/
# pkill mysql /*用pkill来杀,kill不死,kill之后自动起来一个*/
# systemctl start mariadb /*启动正常的mysql*/

二、更改mysql参数,以max_allowed_packet为例
方法1. 编辑配置文件

# vim /etc/my.cnf 

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

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

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

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)
MariaDB [(none)]>
 set global max_allowed_packet = 2*1024*1024*10; /*把query最大运行包大小从默认的1M调整为20M*/

修改默认端口

停止mariadb服务
vim /etc/my.cnf
添加端口

[mysqld] 
port=3306 

然后重启mysql
如果你开启了selinux,mysql会无法启动,你会在日志中看到以下错误

[ERROR] Can't start server: Bind on TCP/IP port: Permission denied
[ERROR] Do you already have another mysqld server running on port: 3308

那么,你需要关掉selinux,不想重启服务器,而关掉selinux,使用以下命令

/usr/sbin/setenforce 0


修改linux下mysql端口时候报错:

Can't start server: Bind on TCP/IP port: Permission denied

需要修改: vim /etc/selinux/config

SELINUX=disabled

然后重启服务器即可
``
上一篇下一篇

猜你喜欢

热点阅读