MySQL安装及数据目录修改

原文首发于http://blog.yumengtao.top/

安装环境

Azure RedHat7

安装数据库

  1. 安装mysql yum源 yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  2. 选择特定版本安装 yum --disablerepo=mysql80-community --enablerepo=mysql55-community install mysql-community-server 具体版本可按需求修改为mysqlXX-community
  3. 验证安装 启动: systemctl start mysqld 登陆验证: mysql -u root --skip-password
  4. 进行安全设置向导:
[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!
 
复制代码

修改数据目录

  1. 查看当前数据目录 mysql -u root -p #登陆数据库 select @@datadir; #查询目录位置
mysql> select @@datadir;
+------------------+
| @@datadir        |
+------------------+
| /var/lib/mysql/ |
+------------------+
1 row in set (0.00 sec)
复制代码
  1. 停用mysql服务 systemctl stop mysqld
  2. 数据目录迁移 rsync -av /var/lib/mysql /mnt/data/ mv /var/lib/mysql /var/lib/mysql.bak
  3. 修改新目录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
  4. 修改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
......
复制代码
  1. 到此安装修改完毕,重启启动服务登陆并验证安装目录
mysql> select @@datadir;
+------------------+
| @@datadir        |
+------------------+
| /mnt/data/mysql/ |
+------------------+
1 row in set (0.00 sec)
复制代码

转载于:https://juejin.im/post/5cbc23f151882532525a110b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值