MySQL基础(2):安装

168 阅读2分钟

MySQL单机安装

操作系统:CentOS 7 
MySQL:5.6 

MySQL的卸载

查看MySQL软件

rpm -qa|grep mysql
yum repolist all | grep mysql 

卸载MySQL

yum remove -y mysql mysql-libs mysql-common #卸载mysql 
rm -rf /var/lib/mysql #删除mysql下的数据文件 
rm /etc/my.cnf #删除mysql配置文件 
yum remove -y mysql-community-release-el6-5.noarch #删除组件

查看是否还有 MySQL 软件,有的话继续删除。

安装MySQL

#下载rpm文件
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 
#执行rpm源文件 
rpm -ivh mysql-community-release-el6-5.noarch.rpm 
#执行安装文件 
yum install mysql-community-server

启动MySQL

systemctl start mysqld 

设置root用户密码

例如:为 root 账号设置密码为 root :

/usr/bin/mysqladmin -u root password 'root' 
#没有密码 有原来的密码则加 
/usr/bin/mysqladmin -u root -p '123' password 'root'

登录MySQL

mysql -uroot -proot
-u:指定数据库用户名 
-p:指定数据库密码,记住-u和登录密码之间没有空格 

配置MySQL

vim /etc/my.cnf 

修改内容如下:

[mysqld] 
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写 
# 0:大小写敏感 1:大小写不敏感 
lower_case_table_names=1 
# 默认字符集 
character-set-server=utf8

MySQL远程连接授权

授权命令:

grant 权限 on 数据库对象 to 用户 

授予root用户对所有数据库对象的全部操作权限:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 
FLUSH PRIVILEGES;--刷新权限 

命令说明:

  • ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
  • *.* :表示所有库中的所有表
  • 'root'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
  • IDENTIFIED BY 'mypassword' :mypassword是数据库的密码。

关闭linux的防火墙

systemctl stop firewalld(默认) 
systemctl disable firewalld.service(设置开启不启动) 

客户端远程访问

利用navicat可以远程访问MySQL

注:如果连接不上,可以按以下步骤排错

  1. MySQL是否正常启动

    [root@localhost ~]# ps -ef | grep mysql 
    root 1114 1 0 10:21 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe - -
    datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid- 
    file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql 
    mysql 1698 1114 0 10:21 ? 00:00:03 /usr/sbin/mysqld 
    
  2. 查看防火墙是否关闭

    [root@localhost ~]# systemctl status firewalld 
    firewalld.service - firewalld - dynamic firewall daemon 
        Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled) 
        Active: inactive (dead) 
    
  3. 查看root权限为所有ip都可以访问

    mysql> show grants for root;
    +-------------------------------------------------------------------------------
     -------------------------------------------------+ 
    | Grants for root@% 
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD 
    '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION | 
    +----------------------------------------------------------------- 
    
  4. 服务器与客户端是否可以ping通

    ping 192.168.239.129
    正在 Ping 192.168.239.129 具有 32 字节的数据: 
    来自 192.168.239.129 的回复: 字节=32 时间<1ms TTL=64
    
  5. 客户端是否可以telnet到服务器端

    telnet 192.168.239.129 3306
    
  6. Navicat是否正确安装