阿里云ECS配置之MYSQL


下载

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

安装


  • 解压
tar -xvzf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
  • 重命名文件夹,把解压后的文件COPY到/usr/local/mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64
  • 添加mysql用户组以及用户
groupadd mysql
useradd -r -g mysql mysql
  • 创建mysql数据目录,新目录不存在则创建
    数据库数据默认目录datadir=/var/lib/mysql,可通过vim /etc/my.cnf 查看
cd /usr/local/mysql/
mkdir -p ./data/mysql
  • 修改目录权限
chown -R mysql:mysql ./
  • 初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
1514751-47020107334e2f2a.png
image.png

安装时如果遇到以下上错误,则需要先安装另一个软件

yum -y install autoconf
  • 安装完成添加启动服务,并授权
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
  • 初始化启动脚本
cp support-files/my-default.cnf /etc/my.cnf
  • 配置启动脚本
vi /etc/init.d/mysqld

修改以下配置项

basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
  • 现在可以启动服务
service mysqld start
  • 测试连接
./mysql/bin/mysql -uroot
  • 加入环境变量,可以让mysql在任何地方运行
export PATH=$PATH:/usr/local/mysql//bin
source /etc/profile

至此,mysql已运行起来了,接下来做些配置

  • 查看端口号
    登陆mysql,执行以下命令,默认端口为3306


    1514751-d57ffdb4156e3569.png
    image.png
  • 修改端口号
    编辑/etc/my.cnf文件,增加端口参数

vim /etc/my.cnf
[mysqld]
port=3506
  • 重启mysql
service mysqld restart
  • 再次查询mysql 端口,端口已发生改变


    1514751-3f065cea2ba4ae72.png
    image.png

配置ECS安全规则


虽然按上面步骤已安装就启动了mysql,但需要开放出端口才可以远程访问,增加以下规则

允许  自定义 TCP 13306/13306 地址段访问   XX.XX.XX.0/24

现在通过客户端去访问mysql,会提示10038错误,如下图


1514751-ad851530e304d68d.png
image.png

需要开放远程登陆权限,解决方案如下

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

新建用户以及数据库并授权


一般情况下,root用户不对外开放,所以需要新建用户以及数据库并进行授权

  • root登陆mysql创建数据库
create database db_egold;
  • 授权db_egold数据库给新用户
grant all privileges on `db_egold`.* to 'egoldtest'@'%' identified by 'yourpasswd';

flush privileges;

查看用户,新建的用户已创建,即可以通过远程登陆访问


1514751-ff131d15cb21138e.png
image.png

其它问题


  • 大小写
    遇到一个问题,总提示某个表不存在,但这个表明明是存在于数据库中的,后面查才发现默认是区分大小写的,我们需要改成不区分大小写
vim /etc/my.cnf

在[mysqld]下加入一行:

lower_case_table_names=1

然后重启,即可解决

  • 修改密码,忘记密码的事情经常发布
set password for username@localhost = password('密码');  

-字符集问题
学会查看默认字符集

show variables like'%char%';

设置默认字符集,需要在/etc/my.cnf的[mysqd]下面增加

character_set_server=utf8

character_set_server = utf8

修改已有数据库字符集
最简单可以通用Navicat for mysql直接修改


1514751-06e1685e8d10325d.png
image.png

猜你喜欢

转载自blog.csdn.net/weixin_34268610/article/details/87228027