mysql多种安装总结

1. yum安装好之后,挪动mysql的安装位置

从/usr/local/mysql 挪到/home/data/mysql

chown -R mysql:mysql /home/data/mysql

chmod -R 777 /home/data/mysql

之后,依旧报各种文件没有权限。

os_file_get_status() failed on './ibdata1'. Can't determine file permissions

'/home/data/mysql/mysql-bin.index' not found (Errcode: 13 - Permission denied)

最终是 setenforce 0。selinux的问题。

selinux限制进程对文件资源的操作,mysqld.service为Group=mysql user=mysql。

本次操作是将mysql的数据文件目录挪动cp到新的目录。即使修改了新目录的用户组和用户,

但是以mysql:mysql启动的mysql进程依旧没有权限访问操作新目录下的文件。

但是原数据库目录却没任何问题,用户组和用户名都是mysql:mysql。

这应该就是selinux策略限制了用户与指定目录的关系了。暂时还没弄清。

2. mysql_multi与systemd mysql_safe与mysqld 的区别。

 rpm包以yum安装的没有mysqld_multi和mysqld_safe。

yum安装自启服务,systemctl / service

3. yum rpm安装包

mysql.com download->yum resposity->mysql57-community-release-el7-11.noarch.rpm

# rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

#yum repolist all | grep mysql //查看mysql版本 enable的表示默认安装的版本(基本是最新版本)

[root@MyCloudServer etc]# yum repolist all | grep mysql
#yum -y install yum-utils
# sudo yum-config-manager --disable mysql80-community //隐藏最新版本
# sudo yum-config-manager --enable mysql57-community //显示指定需要的版本
#yum repolist enabled | grep mysql
#yum install mysql-community-server
#可能遇到的问题
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
......
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

complete;#表示安装完成

# systemctl start mysqld.service  //service mysql start

# grep 'temporary password' /var/log/mysqld.log 查看临时生成的随机密码

# mysql -uroot -p随机密码

# set global validate_password_policy=0;//设置mysql密码的模式,长度没要求

# ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码';//授权用户 远程登录

# FLUSH PRIVILEGES;

rpm包安装启用多实例:

cp -r /usr/local/mysql /home/data/mysql

cp -r /usr/local/mysql /home/data/mysql3307

chown -R mysql:mysql /home/data/mysql

chown -R mysql:mysql /home/data/mysql3307

 service mysqld@3306 start

service mysqld@3307 start

mysql -P 3306 -uroot -S /home/data/mysql/mysql.sock -p

mysql -P 3307 -uroot -S /home/data/mysql3307/mysql.sock -p

4.离线安装,并修改datadir

https://downloads.mysql.com/archives/community/ 5.7.17 Linux-Generic ...  

#tar -xzvf /home/smysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#mv /home/mysql/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
#mkdir /home/data

创建mysql用户、组及目录(这必须有的 否则Mysql初始化不成功)
如果mysql组已存在 先删除组中的用户 再删除组
#userdel -r mysql
#groupdel -r mysql
#groupadd -r mysql
#useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql

改变目录属有者
#cd /usr/local/mysql
#pwd
#chown -R mysql .
#chgrp -R mysql .
#chown -R mysql /home/data

配置参数(初始化)[并记住记录生成的临时密码]
#cd /usr/local/mysql/bin
#./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/data
#./mysql_ssl_rsa_setup --datadir=/home/data

修改系统配置文件
#cd /usr/local/mysql/support-files
#cp my-default.cnf /etc/my.cnf //mysql-5.7.1.17之后不存在这个文件了,可以从网上下下来。。。
#cp mysql.server /etc/init.d/mysql
#vi /etc/init.d/mysql
     basedir=/usr/local/mysql
    datadir=/home/data

启动mysql
#/etc/init.d/mysql start
# ln -s /usr/local/mysql/bin/mysql /usr/bin
#mysql -uroot -p

mysql>set password=password('xinsixian123');
mysql>grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql>flush privileges;

添加环境变量
# vim /etc/profile
     export PATH=/usr/local/mysql/bin:$PATH
#source /etc/profile

配置mysql自动启动
# chmod 755 /etc/init.d/mysql
# chkconfig --add mysql
# chkconfig --level 345 mysql on

#service mysql status
#service mysql stop
#service mysql start

使用mysql_multi管理多实例

[mysqld]
user=mysql
basedir=/home/mysql

[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/user/local/mysql/bin/mysqladmin
log=/home/mysqld_multi.log

[mysqld3306]
mysqld=mysqld
datadir=/home/data
port=3306
server_id=2
socket=/home/data/mysql.sock
log_error=/home/data/error_3306.log

#开启binlog
binlog_format=ROW
#lower_case_table_names=1
log_slave_updates=true
#gtid_mode=on
#enforce_gtid_consistency=1
#不同步的表(当前_其他)
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
#屏蔽同步(其他_>当前)
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema

 

[mysqld3307]
mysqld=mysqld
datadir=/home/data3307
port=3307
server_id=3
socket=/home/data3307/mysql.sock
log_error=/home/data3307/error_3307.log

#开启binlog
binlog_format=ROW
#lower_case_table_names=1
log_slave_updates=true
#gtid_mode=on
#enforce_gtid_consistency=1
#不同步的表(当前_其他)
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
#屏蔽同步(其他_>当前)
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema

---------------------------------以上为my.cnf------------------------------------

/home/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/data/
/home/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/data3306/

#启动单实例 和 全部实例
$ mysqld_multi start 7001
$ mysqld_multi start

关闭可以kill 、 mysqladmin shutdown

允许远程登陆:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
          update mysql.user set host='%' where user='root';
        flush privileges;

mysql -uroot -p -S /home/data/mysql.sock


change replication source to source_host="localhost", source_port=3306, source_user='repl', source_password='123456', source_auto_position=1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值