• 1.安装

方法一:通过yum安装

首先必须配置了yum源,然后直接执行

yum -y install mysql-server

如果提示Error Downloading Packages:

1:执行yum clean all

2:接着执行 yum list 重新列出所有已经安装和可以安装的软件包;

3:重新执行上述命令,发现yum编译成功;

注意:如果执行 yum list 报错,那就检查一下yum仓库是否有问题;并清除/etc/yum.repos.d/下多余.repo文件!

[root@localhost ~]# mount /dev/cdrom /mnt

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]# cd /mnt/Server

[root@localhost Server]# ls

a2ps-4.13b-57.2.el5.x86_64.rpm

acl-2.2.39-8.el5.x86_64.rpm

 

[root@localhost ~]# ls /etc/yum.repos.d/

rhel-debuginfo.repo

[root@localhost ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

[root@localhost ~]# 

[root@localhost Server]# cat /etc/yum.repos.d/rhel-debuginfo.repo

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///mnt/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

查看安装是否完成

[root@localhost ~]# yum list

如果成功后,再次执行mysql的yum 安装命令即可。

安装完毕后可以检查一下是否安装成功:

 

[root@localhost ~]# rpm -qa|grep mysql-server

mysql-server-5.0.77-4.el5_6.6

[root@localhost ~]# 

方法二:通过下载安装包rpm安装

1.下载mysql安装包

  mysql:http://dev.mysql.com/downloads/mysql/

 打开页面之后,在Select Platform:下选择linux Generic

2.下载完毕后解压到指定文件夹下

[root@localhost mysql]# ls
MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle.tar
MySQL-client-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.25-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.25-1.linux_glibc2.5.x86_64.rpm

3.检查安装

rpm -qa | grep mysql  或者 rpm -qa |grep MySQL

这里是区分大小写的

如果没有结果显示则表示没有安装可以继续下面的步骤,如果有显示需要先卸载已安装的

rpm -e --nodeps mysql-libs-5.1.47-4.el6.i686

并要删除相关文件

rm -rf /var/lib/mysql*
rm -rf /usr/share/mysql*

4.安装mysql server

rpm -ivh MySQL-server-5.6.25-1.linux_glibc2.5.x86_64.rpm

5.安装mysql client

rpm -ivh  MySQL-client-5.6.25-1.linux_glibc2.5.x86_64.rpm

6.检测 MySQL 3306 端口是否打开。 netstat 看 MySQL 端口是否打开,如打开表示服务已经启动,安装成功。MySQL 默认的端口是3306。

[root@localhost mysql]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:999                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      
tcp        0    132 172.17.8.85:22              172.17.10.213:49662         ESTABLISHED 
tcp        0      0 :::3306                     :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::ffff:172.17.8.85:3306     ::ffff:172.17.10.213:53770  ESTABLISHED 
[root@localhost mysql]#

如果没有3306端口,启动mysql服务:service mysql start  

7.修改mysql连接密码

在安装mysql server的过程中,它会随机生成一个默认的密码,位置在:/root/.mysql_secret ,打开这个文件之后就可以看到随机的密码了。

然后就可以修改密码了,先输入随机密码,再输入新密码并确认

[root@localhost mysql]# mysqladmin -u root -p password 
Enter password: 
New password: 
Confirm new password:

8.进入mysql,通过命令:mysql -u root -p,然后输入修改后的密码即可

[root@localhost mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.25 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

9.远程连接

因为Linux系统是装在虚拟机上的,我用本机的navigate连接上面所装的mysql

一开始一直提示错误 --连接错误 Can't connect to MySQL server on XXXX(61)

1)进入mysql数据库:use mysql;

2)执行:update user set host = '%' where user = 'root';  有多条的话可以修改一条

3)有多条记录时,可能会报错:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

4)flush privileges;

(提交修改,这个绝对不能少,要不然不会生效。切记,我之前就是忘记了,死活连接不上)

以上4步后去连接mysql还是提示以上错误,那么就是防火墙的原因了

5)修改文件 /etc/sysconfig/iptables, 添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
,且必须加在icmp-host-prohibited之前

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

重启防火墙:

[root@localhost mysql]# service iptables restart
清除防火墙规则:                                           [确定]
把 chains 设置为 ACCEPT 策略:filter                       [确定]
正在卸载 Iiptables 模块:                                  [确定]
应用 iptables 防火墙规则:                                 [确定]
载入额外 iptables 模块:ip_conntrack_netbios_ns ip_conntrac[确定]

再重新连接 ,发现可以连接了

 

  • 2.字符集配置

1)vim /etc/my.cnf

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

default-character-set=utf8

character-set-server=utf8

保存退出。

 

补充关于中文乱码问题:

1.在5.1版本时,为了解决中文乱码问题,在my.ini内[mysql]和[mysqld]中都写:

default-character-set=utf8

2.在5.5版本,[mysql]内可以这么写,[mysqld]内不能这么写,而是写:

character-set-server=utf8

 

  • 3.自启动配置

1)执行chkconfig mysqld on

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

[root@localhost ~]# chkconfig --list mysqld

mysqld         0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭

[root@localhost ~]# chkconfig mysqld on

[root@localhost ~]# chkconfig --list mysqld

mysqld         0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

 

  • 4.防火墙配置

1)sudo vim /etc/sysconfig/iptables

2)-A INPUT -p tcp -m tcp —dport 3306 -j ACCEPT

将以上配置添加到防火墙配置中,保存退出

3)执行命令重启防火墙

     sudo service iptables restart 

 

  • 5.MYSQL服务启动(Linux)

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

2.mysql初始化环境设置

 因还未设置密码,执行mysql -u root登录mysql服务器

 

  • 6.mysql配置

1)查看目前mysql的用户

   Select user,host,password from mysql.user

2)修改root密码:

    set password for root@localhost=password(’你的密码')

    set password for root@127.0.0.1=password(‘你的密码’)

3)exit退出mysql

4)重新登录mysql输入mysql -u root -p

5)然后输入密码登录

mysql> set password for root@localhost=password('mysql_4U');

Query OK, 0 rows affected (0.00 sec)

 

mysql> exit

Bye

[root@localhost ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.0.77 Source distribution

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> 

 

6)删除匿名用户,执行以下SQL

查看是否有匿名用户:select user,host from mysql.user;

删除匿名用户:delete from mysql.user where user=‘’;

再次查看:select user,host from mysql.user;

刷新,使以上操作生效:flush privileges;

7)插入mysql新用户

Insert into mysql.user(Host,User,Paaword) values(“localhost”,”yourusername”,password(“yourpasswd”));

8)使操作生成:flush privileges;

9)创建新的database

Create database `mmall`

Default character set utf8 collate utf8_general_ci;

10)本地用户赋予所有权限

grant all privileges on mmall.* to yourusername@localhost identified by ‘yourpasswd'

11)给账号开通外围所有权限

grant all privileges on mmall.* to ‘yourusername’@‘%’ identified by ‘userpasswd’;

注:可以根据实际情况决定开通什么权限

grant select,insert,update on mmall.* to ‘yourusername’@‘192.11.11.11’ identified by ‘userpasswd’;

代表给指定的地址开通增改查权限