设为首页 收藏本站
查看: 738|回复: 0

[经验分享] CentOS下MySQL安装配置过程详解

[复制链接]

尚未签到

发表于 2016-5-10 09:10:27 | 显示全部楼层 |阅读模式
  1、CentOS下安装MySQL
  [iyunv@sample ~]# yum -y install mysql-server ← 安装MySQL
  然后,安装PHP访问MySQL数据库的工具“php-mysql”
  [iyunv@sample ~]# yum -y install php-mysql ← 安装php-mysql
  
  2、配置MySQL
  [iyunv@sample ~]# vi /etc/my.cnf ← 编辑MySQL的配置文件
  #定位到这里
  [client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
  [mysqld]
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  # Default to using old password format for compatibility with mysql 3.x
  # clients (those using the mysqlclient10 compatibility package).
  old_passwords=1 ← 找到这一行,在这一行的下面添加新的规则,让MySQL的默认编码 为UTF-8(假若找不到,就在本文件到底添加)
  default-character-set = utf8 ← 添加这一行
  启动MySQL服务,进入MySQL里面运行status查看是否已经全部都是支持了utf8,并让MySQL在系统重新启动后随系统自动启动。
  [iyunv@sample ~]# chkconfig mysqld on ← 设置MySQL服务随系统启动自启动
  [iyunv@sample ~]# chkconfig --list mysqld ← 确认MySQL自启动
  mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5为on的状态就OK
  [iyunv@sample ~]# service mysqld start ← 启动MySQL服务
  
  3、设置root用户密码及相关优化配置
  MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的,首先来设置MySQL的root密码。
  [iyunv@sample ~]# mysql -u root ← 用root用户登录MySQL服务器
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 2 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> select user,host,password from mysql.user; ← 查看用户信息
  +------+------------------------------+---------------+
  | user | host | password |
  +------+------------------------------+---------------+
  | root | localhost | | ← root密码为空
  | root | sample.centospub.com | | ← root密码为空
  | | sample.centospub.com | |
  | | localhost | |
  +------+------------------------------+---------------+
  4 rows in set (0.00 sec)
  mysql> set password for root@localhost=password('yournewpwd'); ← 设置root密码
  Query OK, 0 rows affected (0.01 sec)
  mysql> set password for root@'sample.centospub.com'=password('newID'); ← 设置root密码
  Query OK, 0 rows affected (0.01 sec)
  mysql> select user,host,password from mysql.user; ← 查看用户信息
  +------+--------------------------------+--------------------------+
  | user | host | password |
  +------+--------------------------------+--------------------------+
  | root | localhost | 19b68057189b027f | ← root密码被设置,已经加密
  | root | sample.centospub.com | 19b68057189b027f | ← root密码被设置,已经加密
  | | sample.centospub.com | |
  | | localhost | |
  +------+--------------------------------+--------------------------+
  4 rows in set (0.01 sec)
  mysql> exit ← 退出MySQL服务器
  Bye
  然后,测试一下root密码有没有生效。
  [iyunv@sample ~]# mysql -u root ← 通过空密码用root登录
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ← 出现此错误信息说明密码设置成功
  [iyunv@localhost ~] # mysql -u root -h sample.centospub.com ← 通过空密码用root登录
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ← 出现此错误信息说明密码设置成功
  [iyunv@sample ~]# mysql -u root -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g. ← 确认用密码能够成功登录
  Your MySQL connection id is 5 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> exit
  [iyunv@sample ~]# mysql -u root -h sample.centospub.com -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g. ← 确认用密码能够成功登录
  Your MySQL connection id is 6 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> exit ← 退出MySQL服务器
  Bye
  
  删除匿名用户
  在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性,为消除隐患,将匿名用户删除。
  [iyunv@sample ~]# mysql -u root -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 7 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> select user,host from mysql.user; ← 查看用户信息
  +------+----------------------------+
  | user | host |
  +------+----------------------------+
  | | localhost |
  | | 127.0.0.1 |
  | root | localhost |
  | | sample.centospub.com |
  | root | sample.centospub.com |
  +------+----------------------------+
  4 rows in set (0.02 sec)
  mysql> delete from mysql.user where user=''; ← 删除匿名用户
  Query OK, 2 rows affected (0.17 sec)
  mysql> select user,host from mysql.user; ← 查看用户信息
  +------+----------------------------+
  | user | host |
  +------+----------------------------+
  | root | localhost |
  | root | sample.centospub.com |
  +------+----------------------------+
  2 rows in set (0.00 sec)
  mysql> exit ← 退出MySQL服务器
  
  删除测试用数据库
  在MySQL被安装后,存在名为test的空数据库,将它删除。这里要注意的是,系统默认的还有一个名为mysql的数据库,它用于系统管理,所以请不要删除。
  [iyunv@sample ~]# mysql -u root -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 8 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> show databases; ← 查看系统已存在的数据库
  +-------------+
  | Database |
  +-------------+
  | mysql |
  | test |
  +------------+
  2 rows in set (0.02 sec)
  mysql> drop database test; ← 删除名为test的空数据库
  Query OK, 0 rows affected (0.07 sec)
  mysql> show databases; ← 查看系统已存在的数据库
  +-------------+
  | Database |
  +-------------+
  | mysql | ← 确认名为test的数据库被删除,已不存在
  +-------------+
  1 row in set (0.00 sec)
  mysql> exit ← 退出MySQL服务器
  
  4、测试MySQL
  下面对MySQL进行测试。包括建立新用户,以及用对关系性数据库进行数据库操作的指令来试着建立数据库及数据表,这里,新建用户以centospub为例。
  [iyunv@sample ~]# mysql -u root -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 9 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> grant all privileges on test.* to centospub@localhost identified by 'newpwd’; ← 建立对test数据库有完全操作权限的名为centospub的用户
  Query OK, 0 rows affected (0.03 sec)
  mysql> select user from mysql.user where user='centospub'; ← 确认centospub用户的存在与否
  +---------+
  | user |
  +---------+
  | centospub | ← 确认centospub已经被建立
  +---------+
  1 row in set (0.01 sec)
  mysql> exit ← 退出MySQL服务器
  [iyunv@sample ~]# mysql -u centospub -p ← 用新建立的centospub用户登录MySQL服务器
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 10 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> create database test; ← 建立名为test的数据库
  Query OK, 1 row affected (0.00 sec)
  mysql> show databases; ← 查看系统已存在的数据库
  +-------------+
  | Database |
  +-------------+
  | test |
  +-------------+
  1 row in set (0.00 sec)
  mysql> use test; ← 连接到数据库
  Database changed
  mysql> create table test(num int, name varchar(50)); ← 在数据库中建立表
  Query OK, 0 rows affected (0.03 sec)
  mysql> show tables; ← 查看数据库中已���在的表
  +-------------------+
  | Tables_in_test |
  +-------------------+
  | test |
  +-------------------+
  1 row in set (0.01 sec)
  mysql> insert into test values(1,'Hello World!'); ← 插入一个值到表中
  Query OK, 1 row affected (0.02 sec)
  mysql> select * from test; ← 查看数据库中的表的信息
  +------+-------------------+
  | num | name |
  +------+-------------------+
  | 1 | Hello World! |
  +------+-------------------+
  1 row in set (0.00 sec)
  mysql> update test set name='Hello Everyone!'; ← 更新表的信息,赋予新的值
  Query OK, 1 row affected (0.00 sec)
  Rows matched: 1 Changed: 1 Warnings: 0
  mysql> select * from test; ← 查看数据库中的表的信息
  +------+----------------------+
  | num | name |
  +------+----------------------+
  | 1 | Hello Everyone! | ← 确认被更新到新的值
  +------+----------------------+
  1 row in set (0.01 sec)
  mysql> delete from test where num=1; ← 删除表内的值
  Query OK, 1 row affected (0.00 sec)
  mysql> select * from test; ← 确认删除结果
  Empty set (0.01 sec)
  mysql> drop table test; ← 删除表
  Query OK, 0 rows affected (0.01 sec)
  mysql> show tables; ← 查看表信息
  Empty set (0.00 sec) ← 确认表已被删除
  mysql> drop database test; ← 删除名为test的数据库
  Query OK, 0 rows affected (0.01 sec)
  mysql> show databases; ← 查看已存在的数据库
  Empty set (0.01 sec) ← 确认test数据库已被删除(这里非root用户的关系,看不到名为mysql的数据库)
  mysql> exit ← 退出MySQL服务器
  Bye
  
  然后,删除测试用过的遗留用户。
  [iyunv@sample ~]# mysql -u root -p ← 通过密码用root登录
  Enter password: ← 在这里输入密码
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 12 to server version: 4.1.20
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> revoke all privileges on *.* from centospub@localhost; ← 取消centospub用户对数据库的操作权限
  Query OK, 0 rows affected (0.00 sec)
  mysql> delete from mysql.user where user='centospub' and host='localhost'; ← 删除centospub用户
  Query OK, 1 row affected (0.01 sec)
  mysql> select user from mysql.user where user='centospub'; ← 查找用户centospub,确认已删除与否
  Empty set (0.01 sec) ← 确认centospub用户已不存在
  mysql> flush privileges; ← 刷新,使以上操作生效
  Query OK, 0 rows affected (0.01 sec)
  mysql> exit
  Bye
  
  5、最后,重新启动一次HTTP服务,让php-mysql反映到HTTP服务中。
  [iyunv@sample ~]# /etc/rc.d/init.d/httpd restart ← 重新启动HTTP服务
  Stopping httpd: [ OK ]
  Starting httpd: [ OK ]
  更多CentOS相关信息见CentOS 专题页面 http://www.iyunv.com/topicnews.aspx?tid=14

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-214955-1-1.html 上篇帖子: 在centos上折腾 django的部署 下篇帖子: CentOS 4.6上安装oracle10g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表