---
title: 运行MySQL
description: "安装MySQL完成后，需要通过以下步骤使用MySQL数据库，包括修改配置文件、设置环境变量、初始化数据库以及启动和登录数据库。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_03_0013.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_03_0013.html
indexId: 1fd409ddd28bdd41112443848e4e6480ed04c78280e8273293e0d188057a8dc673
---
# 运行MySQL

安装MySQL完成后，需要通过以下步骤使用MySQL数据库，包括修改配置文件、设置环境变量、初始化数据库以及启动和登录数据库。

1. 修改配置文件。

  a. 编辑my.cnf文件。
    1 2 rm -f /etc/my.cnf echo -e "[mysqld_safe]\nlog-error=/data/mysql/log/mysql.log\npid-file=/data/mysql/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-character-set=utf8\n[mysqld]\nbasedir=/usr/local/mysql\nsocket=/data/mysql/run/mysql.sock\ntmpdir=/data/mysql/tmp\ndatadir=/data/mysql/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

    其中文件路径（包括软件安装路径basedir、数据路径datadir等）根据实际情况修改。user=mysql是指操作系统层的用户，即创建用户组和用户中创建的用户。如需进行性能调测，请参考数据库参数调优(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengdbstune_05_0017.html)，修改my.cnf中的配置参数。

  b. 确保my.cnf配置文件修改正确。
    1 cat /etc/my.cnf

  c. 修改配置文件“/etc/my.cnf”的用户组和用户权限为mysql:mysql。
    1 2 chown mysql:mysql /etc/my.cnf ll /etc/my.cnf

2. MySQL加入service服务。
  1 2 3 chmod 777 /usr/local/mysql/support-files/mysql.server cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig mysql on

  修改“/etc/init.d/mysql”的用户组和用户权限为mysql:mysql。

  1 2 chown -R mysql:mysql /etc/init.d/mysql ll /etc/init.d/mysql

3. 配置环境变量。

  a. 安装完成后，将MySQL二进制文件的路径添加到环境变量中。
    1 echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile

    其中PATH中的“/usr/local/mysql/bin”路径，为MySQL软件安装目录下的bin文件的绝对路径，请根据实际情况修改。

  b. 使环境变量配置生效。
    1 source /etc/profile

  c. 查看环境变量。
    1 env

4. 修改数据目录权限。
  1 chmod 755 /data/mysql/data/

5. 切换到mysql用户。
  1 2 su - mysql whoami

6. 初始化数据库的数据目录。
  1 mysqld --defaults-file=/etc/my.cnf --initialize

  或者

  1 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

  初始化完成后，查看数据目录下数据文件“/data/mysql/data”的用户组和用户权限为mysql:mysql（因为前面/etc/my.cnf文件中配置的操作系统用户是user=mysql）。

  1 ll /data/mysql/data

  初始化回显root@localhost:后面有生成临时初始密码，请注意保存，步骤8中会用到。 如果采用官网RPM方式安装，则mysqld文件在“/usr/sbin”目录下。请根据实际情况修改初始化数据库命令。 如果初始化失败，提示“--initialize specified but the data directory has files in it.”则执行下面命令删除数据后重新初始化。 1 2 ls /data/mysql/data rm -rf /data/mysql/data/*

7. 启动数据库。

  a. 启动数据库进程（有3种方式）。
    如果以root用户（su - root）第一次启动数据库服务（service mysql start），则启动时会提示缺少mysql.log文件而导致失败。切换到mysql用户（su - mysql）启动数据库服务后，会在“/data/mysql/log”目录下生成mysql.log文件，停止数据库服务（service mysql stop），再次以root用户启动数据库服务则不会报错。

    1 service mysql start

    或者

    1 mysqld --defaults-file=/etc/my.cnf &

    或者

    1 /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

  b. 查看数据库进程。
    1 ps -ef | grep mysql

  c. 查看数据库监测端口。
    1 2 3 netstat -anpt netstat -anpt | grep mysql netstat -anpt | grep 3306

    如果netstat命令执行失败，则需要安装依赖包。 1 yum -y install net-tools

8. 登录数据库。
  提示输入密码时，请输入步骤6产生的初始密码。

  1 mysql -uroot -p -S /data/mysql/run/mysql.sock

  或者

  1 /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock

9. 配置数据库账号密码。
文档中的用户和密码只是参考，根据客户实际情况进行配置。


  a. 登录数据库以后，修改通过root用户登录数据库的密码。
    1 alter user 'root'@'localhost' identified by "123456";

  b. 创建全域root用户（允许root从其他服务器访问）。
    1 create user 'root'@'%' identified by '123456';

  c. 进行授权。
    1 2 grant all privileges on *.* to 'root'@'%'; flush privileges;

10. 退出数据库。
  执行\q或者exit退出数据库。

  1 exit

11. 用修改后的密码重新登录数据库。
  1 mysql -uroot -p -S /data/mysql/run/mysql.sock

  或者

  1 /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock

  退出数据库。

  1 exit

12. 可选：关闭数据库。
  请使用与7.a启动数据库方式一一对应的命令关闭数据库。若不是以service mysql start命令启动的数据库，使用service mysql stop命令将不能正常关闭数据库。

  1 service mysql stop

  重启数据库，可执行以下命令："service mysql restart"。

  或者

  1 mysqladmin -uroot -p123456 shutdown -S /data/mysql/run/mysql.sock

  或者

  1 /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown -S /data/mysql/run/mysql.sock

  查看数据库进程。

  1 ps -ef | grep mysql
