Linux在线安装MySQL

一、安装mysql

1、首先确定linux版本,确定下载对应的RPM。(查看mysql与linux版本对应的资料

     yum remove  mysql mysql-server mysql-libs mysql-server;

     find / -name mysql 将找到的相关东西delete掉;

2、选择好下载版本,下载该版本。

     wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

下载结果:mysql57-community-release-el7-11.noarch.rpm

3、基于EL7的系统使用以下命令安装下载的发行包

     sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm

3.1、可以通过以下命令检查MySQL Yum存储库是否已成功添加

     yum repolist enabled | grep "mysql.*-community.*"

4、安装mysql

     sudo yum -y install mysql-community-server

     安装过程中需要确认两次.

这将安装MySQL服务器(mysql-community-server)的软件包以及运行服务器所需组件的软件包,包括客户端软件包(mysql-community-client),客户端和服务器(mysql-community-common)的常见错误消息 和字符集以及共享客户端库(mysql-community-libs) 。

5、启动mysql

     sudo service mysqld start

结果:

     Redirecting to /bin/systemctl start mysqld.service

6、查看mysql的运行状态

     sudo service mysqld status

运行结果:

二、mysql安装后的登录和远程测试

1、登录mysql

1) 超级用户帐户'root'@'localhost被创建。超级用户的密码被设置并存储在错误日志文件中。查看临时密码:

     sudo grep 'temporary password' /var/log/mysqld.log

结果:

     2017-12-20T08:13:10.076576Z 1 [Note] A temporary password is generated for root@localhost: xxxxxx #xxxxxx就是初始密码。

2) 登录mysql

     mysql -uroot -p 然后输入密码

     输入密码进入mysql后,登录后必须先修改登录密码,才能进行其他操作。

     首先降低mysql的复杂策略: 修改validate_password_policy参数值为0(1为开启复杂策略)

     注意:此参数(policy)必须优先修改,因为policy策略不修改为0会影响下面的length参数

          set global validate_password_policy=0;

          set global validate_password_length=1;

          ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' ;

密码修改后,可以查看密码设置要求:

     SHOW VARIABLES LIKE 'validate_password%';

拓展

新建用户

     CREATE USER 'icare_dev'@'%' IDENTIFIED BY '******';

用户授权

添加用户权限: GRANT ALL ON databasename.tablename TO 'icare_dev'@'%';

撤销用户权限: REVOKE ALL ON databasename.tablename TO 'icare_dev'@'%';

删除用户及权限 :drop user 'icare_dev'@'%';

例如 当前数据库下所有的表: GRANT ALL ON icare_dev.* TO ‘icare_dev’@’%’;

如果使用Navicat连接报错:

1.在安装Mysql数据库的主机上登录root用户:

     mysql -u root -p

2.依次执行如下命令:

     use mysq;

     select host from user where user='root';

     可以看到当前主机配置信息为localhost.

 

3.执行update user set host = '%' where user ='root'将Host设置为通配符%。 Host设置了“%”后便可以允许远程访问。

     update user set host = '%' where user ='root';

第二种方法:

     grant all privileges on *.* to root@"%" identified by "123456";

     grant all privileges on *.* to root@"localhost" identified by "123456";

     flush privileges;

4.Host修改完成后记得执行flush privilegs使配置立即生效。

     flush privileges;

5.使用navicat 成功连接至mysql

主从库搭建

环境:

  主数据库: 192.168.3.152

  从数据库: 192.168.3.153

配置步骤:

1、保证两个数据库中的库和数据是一致的;

2、在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。

1)、创建一个账号,账号:master 密码: 123456

Mysql>CREATE USER 'master'@'%' IDENTIFIED BY '123456';

Mysql>FLUSH PRIVILEGES;

Mysql>GRANT REPLICATION SLAVE ON *.* TO 'master'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

如果密码提示校验失败:

set global validate_password_policy=0;

set global validate_password_length=1;

3、配置主数据库

1)要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。

2)主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。

3)复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。

4)配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。

5)下面是启用二进制日志,日志文件名以“master-bin”作为前缀,Server ID配置为1,如下:

[mysqld]

server-id=1

log-bin=master-bin

log_bin_index =master-bin.index

# binlog_do_db=witkey  ##witkey是要同步的数据库的名称

binlog_ignore_db=mysql

user=mysql

4、重启mysql

5、查看主服务器状态:

    service mysqld restart

    mysql -uroot -p

    mysql> show master status;

    注意:记录好File和Position,后面要用

6、配置从数据库:

1)从服务器,同理,要分配一个唯一的Server ID,需要关闭MySQL,修改好my.cnf后再重启,如下:

[mysqld]

server-id=2

log-bin=salve-bin

relay-log=slave-relay-bin

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

2)在从服务器里配置连接主服务器的信息:

进入mysql:

mysql -uroot -p

Mysql>stop slave;

Mysql>change master to master_host='192.168.3.152', master_port=3306, master_user='master', master_password='123456', master_log_file='master-bin.000008', master_log_pos=106;

说明:192.168.3.152是主服务器的id,master_log_file='master-bin.000008'是主服务器的File(你主服务器查出来的是什么就写什么),master_log_pos=106是主服务器的Position(你主 服务器查出来的是什么就写什么);

  每次重新启动主服务器,master_log_file和master_log_pos都会变。

3)查看状态

mysql> show slave status\G;

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.137.130

                  Master_User: zhu1

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: master-bin.000010

          Read_Master_Log_Pos: 591960

               Relay_Log_File: slave-relay-bin.000002

                Relay_Log_Pos: 592106

        Relay_Master_Log_File: master-bin.000010

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

说明:Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

            都是yes就说明成功了。

4)若 no 请重复执行以下内容,直至yes:

stop slave; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; start slave;

接着查看状态: show slave status\G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值