ubuntu17安装mysql5.7,以及msyql主从复制

一、mysql 安装

1、 sudo apt-get install mysql-server

安装过程中需要输入密码,也可以为空白,貌似默认值为: MYSQL

2、sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

登陆mysql数据库可以通过如下命令:

3、mysql -u root -p

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

4、新建数据库

create database lee;

5、创建用户并授权

GRANT ALL PRIVILEGES ON 数据库.* TO 用户名@”%” IDENTIFIED BY “用户密码”;

GRANT ALL PRIVILEGES ON lee.* TO lee@”%” IDENTIFIED BY “eee”;

刷新授权,不然授权在MySQL重启前不生效,执行这条指令后,即刻生效

flush privileges;

二、 设置MySQL远程访问

1、 MySQL授权外部访问

2、取消127.0.0.1的监听绑定

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf;

在文件中:

bind-address=0.0.0.0

3、开放防火墙端口

sudo ufw allow 3306

三、试用

1、重启 MySQL

sudo /etc/init.d/mysql restart

2、使用数据库lee

use lee

3、创建个数据库表测试一下

create table tutorials_tbl(

  tutorial_id INT NOT NULL AUTO_INCREMENT,

  tutorial_title VARCHAR(100) NOT NULL,

  tutorial_author VARCHAR(40) NOT NULL,

  submission_date DATE,

  PRIMARY KEY ( tutorial_id )

);

4、主机安装个mysql链接一下试一下就可以了。

5、 修改字符集编码

查看字符集编码

SHOW VARIABLES LIKE ‘char%’;

在终端中输入命令

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

打开mysqld.cnf 文件,在lc-messages-dir

= /usr/share/mysql 语句后添加语句

character-set-server=utf8

在终端输入

sudo gedit /etc/mysql/conf.d/mysql.cnf

命令打开mysql.cnf配置文件,如图添加代码:

default-character-set=utf8

重启

sudo /etc/init.d/mysql restart

查看mysql版本号

mysql –version

ubuntu mysql 主从复制

安装相同的mysql版本号

主: 192.168.192.172

从: 192.168.192.124

1.主

sudo gedit /etc/mysql/my.cnf

文件中加入

[mysqld]

log-bin=mysql-bin

server-id=1

log-bin-index=master-bin.index

2.重启MySQL

参考:

http://www.cnblogs.com/luxh/p/4088420.html

https://www.cnblogs.com/phpstudy2015-6/p/6687480.html#_label2

3、从

sudo gedit /etc/mysql/my.cnf

文件中加入

[mysqld]

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

4.在master上创建用于复制的账号

mysql> create user 'repl'@'%' identified by '123456';

Query OK, 0 rows affected (0.13 sec)

mysql> grant replication slave on *.* to 'repl'@'%' ;

Query OK, 0 rows affected (0.02 sec)

5. 在master上查看 binary log文件名和 position

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000003 |      120 |              |                  |                  |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

6. 配置slave

change master to master_host='192.168.192.174',master_user='repl',master_password='123456',master_port=3306,master_log_file='mysql-bin.000003',master_log_pos=120,master_connect_retry=10;


使用上面创建的用于复制的账号,master_log_file使用master上查询出来的文件名,master_log_pos也必须使用master上查询出来的position

7.在slave上启动复制功能

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)


8.查看slave的状态

mysql> show slave status

9、配置完毕。测试一下效果

mysql> create database web_db;

Query OK, 1 row affected (0.04 sec)

mysql> use web_db;

Database changed

mysql> create table t_user(id int primary key auto_increment,username varchar(32));

Query OK, 0 rows affected (0.13 sec)

mysql> insert into t_user(username) values('lihuai');

Query OK, 1 row affected (0.05 sec)

mysql> select * from t_user;

+----+----------+

| id | username |

+----+----------+

|  1 | lihuai  |

+----+----------+

1 row in set (0.00 sec)

在slave上查看,看是否已成功复制

mysql> show databases;

+--------------------+

| Database          |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test              |

| web_db            |

+--------------------+

5 rows in set (0.05 sec)

mysql> use web_db;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+------------------+

| Tables_in_web_db |

+------------------+

| t_user          |

+------------------+

1 row in set (0.00 sec)

mysql> select * from t_user;

+----+----------+

| id | username |

+----+----------+

|  1 | lihuai  |

+----+----------+

1 row in set (0.00 sec)


ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

reset slave;

最后送福利了,加群即可获取 群号:798891710 即可获取Java工程化、高性能及分布式、高性能、高架构、性能调优、Spring、MyBatis、Netty源码分析等多个知识点高级进阶干货的相关视频资料,等你来拿

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容