CentOS 安装 mysql

本文详细介绍在CentOS环境下MySQL的安装步骤,包括环境准备、字符集配置、自启动及防火墙设置,以及如何初始化数据库、修改密码和权限管理。


一、安装

环境(centos6.8)

执行 yum -y install mysql-server

注:(1) rpm -qa | grep mysql-server检查是否已经安装mysql-server

       (2)默认配置文件在/etc/my.cnf

centos7上安装

rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server复制代码

二、配置

字符集配置

1)、vim /etc/my.cnf

2)、 添加配置,在[mysqld]节点下添加:

defalut-character-set=utf8 character-set-server=utf8

自启动配置

1).执行 chkconfig mysqld on

2).执行chkconfig --list mysqld 查看(如果2-5位启用on状态即OK)

防火墙配置

1) sudo vim /etc/sysconfig/iptables

2) 将下面配置添加进去 -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

3):wq 保存退出

4)sudo service iptables restart 执行防火墙重启命令


三、启动mysql

1. service mysqld start 或 etc/rc.d/init.d/mysqld start 启动mysqld服务

2. 初始化配置

因还未设置密码,执行 mysql 登录mysql服务器
查看目前mysql用户
select user,host,password from mysql.user


修改root密码:

set password for root@localhost = password('yourpassword');
set password for root@127.0.0.1= password('yourpassword');
退出重新登录mysql 
exit退出mysql,重新登录输入mysql -u root -p

删除匿名用户,执行以下sql
查看是否有匿名用户:select user,host from mysql.user;
删除匿名用户: delete from mysql.user where user = '';
再次查看: select user,host from mysql.user;
刷新,使以上操作生效:flush privileges;

创建新的database
 create database `newdb` default character set utf8 collate utf8_general_ci;

本地用户赋予所有权限
grant all privileges on newdb.* to yourusername@localhost identified by 'yourpassword';
给账号开通外网所有权限
grant all privileges on newdb.* to yourusername@'%'identified by 'yourpassword';
注:根据自己实际情况决定是否开什么权限
grant select,insert,update on newdb.* to yourusername@'%'identified by 'yourpassword';


Centos 7系统启动mysql命令
systemctl start mysql

复制代码

验证mysql是否启动成功命令,使用netstat命令

netstat -nap |grep 3306

忘记密码修改方法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。

2.修改MySQL的登录设置:
# vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。

3.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

4.登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;

注意5.7版本:update mysql.user set authentication_string=password('root') where user='root'

Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit

5.将MySQL的登录设置修改回来
# vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vim

6.重新启动mysqld
# service mysqld restart

转载于:https://juejin.im/post/5c172f946fb9a049c30b25f3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值