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;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu安装MySQL5.7,可以按照以下步骤进行操作: 1. 首先,执行以下命令来安装MySQL服务: ``` sudo apt update sudo apt install mysql-server-5.7 ``` 这将会安装MySQL 5.7的服务器组件。 2. 在安装过程中,系统会提示你设置root用户的密码。请根据提示输入并确认密码。 3. 安装完成后,可以通过以下命令验证MySQL版本: ``` dpkg -l | grep mysql ``` 在输出结果中,你应该能够看到mysql的版本为5.7.x。 请注意,安装完成后,可能会遇到普通用户无法登录MySQL的问题。这是因为在安装过程中,root用户的plugin被修改为了auth_socket,而不是密码登录的plugin。为了解决这个问题,你可以按照以下步骤进行设置: 1. 以root用户身份登录到MySQL服务: ``` sudo mysql -u root ``` 2. 在MySQL命令行中,执行以下命令更改root用户的认证方式: ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; ``` 请将"你的密码"替换为你的MySQL root密码。 3. 执行以下命令刷新权限: ``` FLUSH PRIVILEGES; ``` 现在,你应该可以使用root用户的密码进行MySQL登录了。 希望这些信息对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu20.04安装MySQL5.7-实测3种方法(保姆级教程)](https://blog.csdn.net/liuhuango123/article/details/128264867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Ubuntu 18.04 安装mysql5.7](https://download.csdn.net/download/weixin_38640794/14090649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值