一、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源码分析等多个知识点高级进阶干货的相关视频资料,等你来拿