美文网首页
mariadb配置

mariadb配置

作者: 4ea0af17fd67 | 来源:发表于2019-01-16 15:20 被阅读11次

    启动和关闭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
    
    然后重启服务器即可
    ``

    相关文章

      网友评论

          本文标题:mariadb配置

          本文链接:https://www.haomeiwen.com/subject/pgemdqtx.html