运行MySQL
安装MySQL完成后,需要通过以下使用MySQL数据库,包括修改配置文件、设置环境变量、初始化数据库以及启动和登录数据库。
- 修改配置文件。
- 编辑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是指操作系统层的用户,即创建用户组和用户中创建的用户。如需进行性能调测,请参考数据库参数调优,修改my.cnf中的配置参数。
- 确保my.cnf配置文件修改正确。
1
cat /etc/my.cnf
- 修改配置文件“/etc/my.cnf”的用户组和用户权限为mysql:mysql。
1 2
chown mysql:mysql /etc/my.cnf ll /etc/my.cnf
- 编辑my.cnf文件。
- 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
- 配置环境变量。
- 安装完成后,将MySQL二进制文件的路径添加到环境变量中。
1
echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile
其中PATH中的“/usr/local/mysql/bin”路径,为MySQL软件安装目录下的bin文件的绝对路径,请根据实际情况修改。
- 使环境变量配置生效。
1
source /etc/profile
- 查看环境变量。
1
env
- 安装完成后,将MySQL二进制文件的路径添加到环境变量中。
- 修改数据目录权限。
1
chmod 755 /data/mysql/data/
- 切换到mysql用户。
1 2
su - mysql whoami
- 初始化数据库的数据目录。
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
- 初始化回显倒数第2行中有初始密码,请注意保存,步骤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/
- 启动数据库(有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 &
- 查看数据库进程。
1
ps -ef | grep mysql
- 查看数据库监测端口。
1 2 3
netstat -anpt netstat -anpt | grep mysql netstat -anpt | grep 3306
如果netstat命令执行失败,则需要安装依赖包。
1
yum -y install net-tools
- 启动数据库进程。
- 登录数据库。
1
mysql -uroot -p -S /data/mysql/run/mysql.sock
或者
1
/usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock
- 配置数据库账号密码。
文档中的用户和密码只是参考,根据客户实际情况进行配置。
- 登录数据库以后,修改通过root用户登录数据库的密码。
1
alter user 'root'@'localhost' identified by "123456";
- 创建全域root用户(允许root从其他服务器访问)。
1
create user 'root'@'%' identified by '123456';
- 进行授权。
1 2
grant all privileges on *.* to 'root'@'%'; flush privileges;
- 登录数据库以后,修改通过root用户登录数据库的密码。
- 退出数据库。
执行\q或者exit退出数据库。
1
exit
- 用修改后的密码重新登录数据库。
1
mysql -uroot -p -S /data/mysql/run/mysql.sock
或者
1
/usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock
退出数据库。
exit
- 可选:关闭数据库。
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
父主题: 移植指南