数据库


01_Centos 7 下yum安装MySQL5.7

<p>附:Centos7使用yum安装MySQL5.6 <a href="https://www.jianshu.com/p/481763139ef2">https://www.jianshu.com/p/481763139ef2</a></p> <pre><code>在CentOS中默认安装有MariaDB,这个是MySQL的分支。CentOS 7的默认yum仓库中并没有MySQL5.7,我们需要手动添加,好在MySQL官方提供了仓库的地址,所以我们能够比较简单地安装MySQL。</code></pre> <p>本文我们将介绍CentOS 7下MySQL5.7的安装。</p> <h3>1、CentOS7下添加Mysql5.7仓库</h3> <p>mysql的yum源查看:<a href="https://dev.mysql.com/downloads/repo/yum/">https://dev.mysql.com/downloads/repo/yum/</a> <code>sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm </code></p> <h3>2、确认Mysql仓库成功添加</h3> <pre><code class="language-bash">[easytong@node212 data-volumes]$ sudo yum repolist all | grep mysql | grep enabled mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 131 mysql-tools-community/x86_64 MySQL Tools Community enabled: 100 mysql57-community/x86_64 MySQL 5.7 Community Server enabled: 384</code></pre> <h3>3、安装Mysql5.7</h3> <p><code>sudo yum -y install mysql-community-server</code></p> <h3>4、启动Mysql</h3> <p><code>sudo systemctl start mysqld</code></p> <h3>5、设置系统启动时自动启动</h3> <p><code>sudo systemctl enable mysqld</code> 查看随机启动: <code>systemctl list-unit-files | grep mysqld</code></p> <h3>6、查看运行状态</h3> <p><code>sudo systemctl status mysqld</code></p> <h3>7、查看初始密码</h3> <p>要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码: <code>grep "password" /var/log/mysqld.log</code></p> <h3>8、用初始密码进入MySQL数据库</h3> <p><code>mysql -uroot -p</code> 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令: <code>mysql&gt; ALTER USER 'root'@'localhost' IDENTIFIED BY '123';</code></p> <h3>9、解决报错</h3> <p>以上报错是说新设置的密码过于简单,解决方式: 按照默认密码格式复杂度更改</p> <pre><code class="language-bash">原来MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。 使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。影响的语句和函数有:create user,grant,set password,password(),old password。</code></pre> <p><code>mysql&gt; ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wangfeiyu@12';</code></p> <h3>10、查看MySQL完整的初始密码规则</h3> <p>查看MySQL完整的初始密码规则,查看的前提是必须先用ALTER USER命令更改过密码。 <code>mysql&gt; SHOW VARIABLES LIKE 'validate_password%';</code> 注意: 密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)</p> <h3>11、修改MySQL默认策略和密码长度</h3> <h4>(1)修改密码策</h4> <p>因为当前的密码太复杂不方便后期做实验,所以使用命令修改密码策略两种方式:</p> <pre><code class="language-bash">mysql&gt; set global validate_password_policy=0; mysql&gt; set global validate_password_policy=LOW; mysql&gt; set global validate_password_mixed_case_count=0; mysql&gt; set global validate_password_number_count=3; mysql&gt; set global validate_password_special_char_count=0;</code></pre> <p>注意:密码策略分四种 <code>1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、STRONG(强)</code></p> <h3>12、查看密码规则</h3> <p><code>mysql&gt; SHOW VARIABLES LIKE 'validate_password%';</code></p> <h3>13、改为简单密码</h3> <p>将刚才的复杂密码改为简单的四位的密码了; <code>ALTER USER 'root'@'localhost' IDENTIFIED BY '310012';</code></p> <h3>14、卸载安装源自动更新</h3> <p>因为安装了Yum Repository,以后每次yum操作都会自动更新,因为当前数据库已安装完成,所以把这个卸载掉: <code>yum remove mysql57-community-release.noarch</code></p> <h3>15、初始化数据库</h3> <p><code>mysql_secure_installation</code> 注:执行完初始化命令后需要输入数据库root用户密码,然后默认如上截图一路回车即可。(也可根据自己实际情况进行选择)</p> <h3>16、设置数据库编码为utf8</h3> <p><code>sudo vim /etc/my.cnf</code> 在[mysqld],[client],[mysql]节点下添加编码设置</p> <pre><code class="language-bash">[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8</code></pre> <p>重启Mysql即可。</p> <h3>17、创建MySQL数据库</h3> <pre><code class="language-bash">create database dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; grant usage on dbname.* to 'dbuser'@'%' identified by 'dbuserpwd' with grant option; grant all privileges on dbname.* to 'dbuser'@'%'; flush privileges;</code></pre>

页面列表

ITEM_HTML