linux安装mysql

mysql 安装教程, 网上太多的例子, 大部分都是通过编译安装, 一般很少会通过yum安装, 主要是CentOS 6.x, 自带的版本都是5.1, 而CentOS 7.x 系列都自带MariaDB. 当然MySQL网站上自然有提供相应的yum方法, 可能大多人并没在意.

官方介绍链接

# 更新 yum 源
yum update 
# 添加 mysql5.6 yum 源
# centos6
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# centos7
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum install mysql-server

当我们安装好 mysql 后, 需要启动

# 启动
service mysqld start
# 重启
service mysqld restart
# 关闭
service mysqld stop

如果出现启动失败, 首先检查端口号是否被暂用, 其次检查权限问题, 另外还需要检查mysql进程

设置 mysql 密码

mysqladmin -uroot password 123456

** 允许远程访问**

mysql -u root
mysql> use mysql;
# 允许外部连接数据库
mysql> update user set host = '%' where host= '127.0.0.1';
# 查看修改结果
mysql> select host, user, password from user;
# 刷新权限表(此操作一定要执行, 否则需要重启mysql)
mysql> flush privileges;

记住, 通过客户端连接成功后, 一定要设置密码, 如果开启了防火墙, 需要放开数据库对外端口, 一般为3306


设置mysql远程登录

  1. mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称

在mysql控制台执行:

  1. grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  2. # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
  3. flush privileges; # 重载系统权限
  4. exit;



允许3306端口

  1. iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  2. # 查看规则是否生效
  3. iptables --# 或者: service iptables status
  4.  
  5. # 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
  6. iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

远程管理数据库的软件,win系统下可以使用SQLyog,用了几种远程软件,感觉这个用起来蛮不错的。


重置root用户密码(此操作分两种情况)

记得 root 用户密码

# 其中 123456 为原密码, 不能与-p分开, abcdefg 为新密码
mysqladmin -u root -p123456 password abcdef

忘记 root 用户密码

# 如果 MySQL 正在运行, 先关闭
killall -TERM mysqld
# 启动 MySQL 
mysqld_safe --skip-grant-tables &
# 此时就是免密进入 MySQL
> use mysql
> update user set password=password("new_pass") where user="root";
> flush privileges
# 退出, 启动 MySQL 。


修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码

具体操作:

1、进入MySQL控制台

mysql  -u root -p

输入密码

查看当前mysql运行状态

mysql>status

后面四个编码是我在修改之后,所以显示utf-8;默认编码是latin1。

 

2.修改mysql配置文件

默认位置:/etc/my.cnf

进入etc文件夹>>vim my.cnf

图片是我添加设置后的。

* 我的mysql没有[client]这个字段,首先添加上,在[client]段增加下面代码default-character-set=utf8(网上还有提到其他的设置语句,是以前的版本,现在不用了)

* 在[mysqld]段增加下面的代码

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

* systemctl restart mysql.service #重启MySQL

* 查看当前mysql运行状态

 mysql>status

此时所有编码应该都是UTF-8

参数说明:

haracter_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。

character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。



作者:殷临风
链接:https://www.jianshu.com/p/0ed8fe4c63f3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值