服务器安装部署mysql
1、下载地址
https://www.mysql.com/downloads/
选择community server
2、选择版本,当前选择的5.7版本
3、点击DOWLOAD
4、点击下载mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz,选择no thanks
5、将 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 上传到 /usr/local 目录下(可以使用wget下载不同版本)
rz -y
tar -xzf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
6、使用命令,对mysqll文件夹进行重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
这个时候达到的效果是/usr/local/mysql/..(一堆解压开的文件)
7、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
8、安装
#在/usr/local/mysql目录下新建data文件夹,以后的数据库文件将放在这里
mkdir data
依次执行以下命令:
[root@instance_4dbde0 mysql]# chown -R mysql:mysql ./
#mysql_install_db 被废弃了,取而代之的是 mysqld –-initialize
[root@instance_4dbde0 mysql]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#将mysql/目录下除了data/目录的所有文件,改回root用户所有
[root@instance_4dbde0 mysql]# chown -R root .
#mysql用户只需作为mysql/data/目录下所有文件的所有者
[root@instance_4dbde0 mysql]# chown -R mysql data
#复制启动文件
[root@instance_4dbde0 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@instance_4dbde0 mysq]# chmod 755 /etc/init.d/mysqld
[root@instance_4dbde0 bin]# cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
#修改启动脚本
[root@instance_4dbde0 mysql]# vim /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port=3306
#启动服务
[root@instance_4dbde0 mysql]# service mysqld start
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
[root@instance_4dbde0 mysql]# vim /etc/profile
#添加mysql路径
export PATH=$PATH:/usr/local/mysql/bin
#刷新立即生效
[root@instance_4dbde0 mysql]# source /etc/profile
配置以上信息之后,基本就可以启动了mysql(如果不能启动,请看最后的配置文件),但是现在还缺少mysql的配置文件,即my.cnf文件(没有它Mysql也可以使用内置的默认参数启动),最后说
接下来就可以使用命令登录mysql了
[root@instance_4dbde0 bin]# mysql -uroot -p
Enter password:
#如果登不进去,则改my.cnf配置文件,跳过验证登录,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
vim /etc/my.cnf 添加 skip-grant-tables
#重新启动,登录
ps -ef | grep mysql
kill -9 (进程号)
service mysqld start
mysql -uroot
#修改密码
use mysql;
update user set authentication_string=password("新密码") where user='root';
flush privileges;
exit;
注意:登陆成功后如果使用命令出现如下情况
也即:登陆成功后,使用任何命令都出现 1820错误:
那么直接使用如下命令,即可解决
SET PASSWORD = PASSWORD('root');(此时密码设置为root)
Mysql权限控制 - 允许用户远程连接
在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重载授权表:
FLUSH PRIVILEGES; 一定要执行!!!
退出mysql数据库:
exit
mysql主从复制
登录主机 mysql -u root -p
输入密码...
1.首先修改mysql的配置文件,使其支持二进制日志功能。
打开主服务器的mysql配置文件:my.conf
代码:# vim /etc/my.cnf
加入如下代码:
server-id=1 1、[必须] 主服务器唯一id
log-bin=mysqlbin 2、[必须] 启用二进制日志
配置完成,:wq 保存,重启mysql
ps -ef | grep mysql
kill -9 (进程号)
service mysqld start
登录从机 mysql -u root -p
输入密码...
配置从服务器的my.cnf,重复步骤1即可,
唯一的区别是,server-id要改成从服务器的ip尾位,即server-id=2;其他两项是一样的,保存,并重启mySQL;
2.在主服务器上为从服务器分配一个账号,就像一把钥匙,从服务器拿着这个钥匙,才能到主服务器上来共享主服务器的日志文件。
进入主服务器的mysql界面,
命令: # mysql -u root -p 密码 //我这里mysql账号是root,密码
在mysql操作界面下,输入下面一行命令:
GRANT replication slave ON *.* TO 'slave'@'从机数据库ip' IDENTIFIED BY '密码';
flush privileges;
3.查看主服务器BIN日志的信息(执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两值会发生改变).
show master status;
4.设置从服务器
进入从服务器mysql
mysql -u root -p
输入密码...
关闭slave(如果你以前配置过主从的话,一定要先关闭)
stop slave;
输入下面代码即可:
change master to master_host='主机数据库ip',
master_user='zhangsan',
master_password='123456',
master_log_file='mysqlbin.具体数字',
master_log_pos=具体值;
start slave;
show slave status/g; --key v 键值对显示
上面两项均为yes,说明配置成功,否则,请重复前面的步骤。:
slave_io_running: yes
slave_sql_running:yes
没有问题的话就成功了
参考链接:##
https://www.cnblogs.com/kanyun/p/8075414.html
https://www.cnblogs.com/superfat/p/5267449.html