安装环境
Azure RedHat7
安装数据库
- 安装mysql yum源
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 选择特定版本安装
yum --disablerepo=mysql80-community --enablerepo=mysql55-community install mysql-community-server
具体版本可按需求修改为mysqlXX-community - 验证安装
启动:
systemctl start mysqld
登陆验证:
mysql -u root --skip-password
- 进行安全设置向导:
[root@server1 ~]# /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):<–初次运行直接回车
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车
… Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
… Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
… Success!
Cleaning up…
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
修改数据目录
- 查看当前数据目录
mysql -u root -p #登陆数据库
select @@datadir; #查询目录位置
mysql> select @@datadir;
+------------------+
| @@datadir |
+------------------+
| /var/lib/mysql/ |
+------------------+
1 row in set (0.00 sec)
- 停用mysql服务
systemctl stop mysqld
- 数据目录迁移
rsync -av /var/lib/mysql /mnt/data/
mv /var/lib/mysql /var/lib/mysql.bak
- 修改新目录selinux属性,这步解决生产环境中selinux启用下,mysql无法启动错误
[Warning] Can't create test file /mnt/data/mysql/bds.lower-test
chcon -Rv -u system_u -t mysqld_db_t /mnt/data/mysql
- 修改mysql配置文件,重新指定mysqld数据读取路径和mysql命令socket路径
修改/etc/my.cnf
......
#修改
[mysqld]
datadir=/mnt/data/mysql
socket=/mnt/data/mysql/mysql.sock
......
#新增
[client]
port=3306
socket=/mnt/data/mysql/mysql.sock
......
- 到此安装修改完毕,重启启动服务登陆并验证安装目录
mysql> select @@datadir;
+------------------+
| @@datadir |
+------------------+
| /mnt/data/mysql/ |
+------------------+
1 row in set (0.00 sec)
网友评论