阿里云 安装、配置、外部连接mysql

以下全在root权限下运行:

安装msyql

升级apt-get

apt-get update

安装 mysql-server

apt-get install mysql-server //服务器
apt-get install mysql-client //客户端,可不安装
apt-get install libmysqlclient-dev

mysql常用指令(可以试一下)

  1. 查看mysql进程是否运行
    ps -ef | grep mysql

  2. 查看msyql 监听端口
    netstat -tap | grep mysql

  3. 登录mysql
    mysql -u root -p 进入mysql命令行

  4. 退出mysql命令行
    exit
    注意,MySQL服务器仍在后台运行。

  5. msyql服务停止
    service mysql stop

  6. Mysql 服务启动
    service mysql start

  7. Mysql 服务重启
    service mysql restart

  8. 查看当前的数据库:
    show databases; //注意后面的;号

  9. 使用数据库:
    use mysql(数据库名)

  10. 显示当前数据库的表单:
    show tables;

  11. 显示数据表结构
      mysql>describe 表名;

  12. 删除数据库和数据表
      mysql>drop database 数据库名;
      mysql>drop table 数据表名;

  13. 创建用户:
      mysql> insert into mysql.user(Host,User,Password) values(“localhost”,“test”,password(“1234”));
    这样就创建了一个名为:test 密码为:1234 的用户。
      注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

    然后登录一下:
     mysql>exit;
     @>mysql -u test -p
     @>输入密码
     mysql>登录成功

  14. 删除用户
      @>mysql -u root -p
      @>密码
      mysql>Delete FROM user Where User=‘test’ and Host=‘localhost’;
      mysql>flush privileges;
      mysql>drop database testDB; //删除用户的数据库
    删除账户及权限:>drop user 用户名@’%’;
            >drop user 用户名@ localhost;

  15. 修改指定用户密码
      @>mysql -u root -p
      @>密码
      mysql>update mysql.user set password=password(‘新密码’) where User=“test” and Host=“localhost”;
      mysql>flush privileges;

Mysql 服务远程访问

  1. 注释绑定127.0.0.1
    vim /etc/mysql/my.cnf
    注释掉:bind-address = 127.0.0.1 这行

  2. 授权非本机用户登录
    GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
    阿里云 安装、配置、外部连接mysql

  3. 刷新权限
    FLUSH PRIVILEGES;

  4. 为用户授权指令详解
      授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; 
    4.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
      @>mysql -u root -p
      @>密码
    4.2 首先为用户创建一个数据库(testDB):
      mysql>create database testDB;
    4.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
       mysql>grant all privileges on testDB.* to [email protected] identified by ‘1234’;
      mysql>flush privileges;//刷新系统权限表
      格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; 
    4.4 如果想指定部分权限给一用户,可以这样来写:
      mysql>grant select,update on testDB.* to [email protected] identified by ‘1234’;
      mysql>flush privileges; //刷新系统权限表
    4.5 授权test用户拥有所有数据库的某些权限:  
      mysql>grant select,delete,update,create,drop on . to [email protected]"%" identified by “1234”;
    //test用户对所有数据库都有select,delete,update,create,drop 权限。
      //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
     //对localhost授权:加上一句grant all privileges on testDB.* to [email protected] identified by ‘1234’;即可。

Mysql 服务端的编码方式修改

  1. 查看mysql 服务端端编码
    status
    阿里云 安装、配置、外部连接mysql
    发现是latin1的,需要修改为 utf8点编码方式,如果不修改数据库中存储中文的时候会出现乱码。

  2. 修改配置文件
    vim /etc/mysql/my.cnf
    在[client]下追加
    default-character-set = utf8
    在[mysqld]下追加
    character-set-server=utf8
    在[mysql]下追加
    default-character-set=utf8
    保存退出,重启服务器
    service mysql restart

  3. 再次查看mysql服务端的编码方式
    登录进入mysql的命令行再次输入:
    status

使用navicat连接mysql服务器

  1. 在阿里云服务器配置
    首先要进行端口的设置,开放3306端口,否则远程连接会失败。
    登录阿里云—选择服务器—选择更多—安全组配置—添加安全组—协议类型:mysql — 端口范围:3306 —授权对象:0.0.0.0/0(任意IP)
    保存即可。
  2. 登录navicat软件
    点击连接—输入IP、用户名、密码 —连接即可。