服务器安装部署mysql

服务器安装部署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 

猜你喜欢

转载自blog.csdn.net/qq_41606459/article/details/84550301
今日推荐