- 所有的事情在你拥有了一台阿里云服务器之后,准备安装mysql的时候,去官网下载了最新的mysql的linux通用版本,结果死活安装不成功
- 在折腾了好久感觉姿势不对,就安装个5.7.11的算了,终于终于OK了
** 建议看一遍在动手
** linux新手,如有错误欢迎指出
环境信息 阿里云服务器 Linux系统 mysql 5.7.11
使用ssh root@"公网IP" 输入密码登陆服务器
此时在linux下root目录下,也就是 cd ~
使用wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz下载
wget 后面可以加 -c 使用断点了下载
wget -c http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz解压 tar -xvf mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz
创建对应存储目录
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data复制
mv mysql-5.7.11-linux-glibc2.5-x86_64/* /usr/local/mysql/创建用户组以及用户并关联
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql/接下来 cd /usr/local/mysql ,进入mysql的安装目录
初始化数据 ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
复制配置文件
cp -a ./support-files/my-default.cnf /etc/my.cnf (输入y,回车) (备注@1)
mysql的服务脚本放到系统服务中
cp -a ./support-files/mysql.server /etc/init.d/mysqld接下来进入bin目录 cd bin
./mysqld_safe --user=mysql &
此时服务会被挂起,按下回车退出即可,输出如下
[1] 8475
[root@localhost bin]# Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
2017-12-18T07:47:16.901751Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data重启mysql 命令 /etc/init.d/mysqld restart
可以看到shut down ok
start ok的相关输出(和这个不一样,基本意思英语应该可以看懂)-
初始化密码
cat /root/.mysql_secret (输出的就是root用户初始密码)
./mysql -uroot -p
输入刚才的密码进入了mysql
出现这样的mysql可以输入的情况,你的mysql就基本OK了
此时只能本地登陆,接下来进行最后的配置
// 备注,这一步是说明,创建快捷方式什么时候执行都可以,顺这执行下去也没问题
这里没有使用软链,不然每次都要
cd /usr/local/mysql/bin
然后 ./mysql -uroot -p 输密码进入
执行数据库的登陆操作,很麻烦相当于创建快捷方式
ln -s /usr/local/mysql/bin/mysql /usr/bin
之后就可以在任何目录使用 mysql -u root -p 输入密码登陆数据库了mysql> SET PASSWORD = PASSWORD('123456');
设置你的root用户的登陆密码,这里是123456,你可以随便更改,结尾的;不要忘记了
结尾的;不要忘记了
结尾的;不要忘记了
结尾的;不要忘记了mysql> flush privileges; (刷新权限表)
mysql>use mysql; (进入mysql这个数据库)
mysql> select host, user from user; (这里可以查看有多少用户)
一般而言除了修改root用户的密码,其他的都不会修改
也不要尝试mysql> update user set host = '%' where user = 'root';
上面那条命令的意思的允许远程登陆数据库,但是不允许本地登陆,有多无语,你可以试试,让在重新初始化磁盘再来一次了
接下来可以为数据库添加其他用户,进行管理
mysql>CREATE USER 'aaa'@'%' IDENTIFIED BY '123456';
表示创建新的用户,名为aaa,新用户密码为123456,用户,密码随自己更改一般数据库都会要求可以远程连接,mysql处于安全默认不允许远程连接,需要收到赋予相应用户权限
登陆数据库
mysql> use mysql;
GRANT ALL PRIVILEGES ON . TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
替换掉你设置的用户名和密码即可,最好不要多mysql的root用户使用,执行完刷新权限
mysql> flush privileges;
mysql> exit;
退出数据库,一切OK,基于当前安装目录的一些mysql命令
/etc/init.d/mysqld stop 停止mysql
/etc/init.d/mysqld restart 重启mysql
// 安装过程中要主要当前目录,出现no such 之类的找不到文件的英文提示,要查看下目录是否和上述一致,
备注@1,如果提示找不到文件,可以直接
vi /etc.my.cny
按 i,进去编辑状态
复制,粘贴即可
esc + :wq + enter 保存退出
- 配置文件内容如下
For advice on how to change settings please see
http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
*** DO NOT EDIT THIS FILE. It's a template which will be copied to the
*** default location during install, and will be replaced if you
*** upgrade to a newer version of MySQL.
[mysqld]
Remove leading # and set to the amount of RAM for the most important data
cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
Remove leading # to turn on a very important data integrity option: logging
changes to the binary log between backups.
log_bin
These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = .....
server_id = .....
socket = .....
Remove leading # to set options mainly useful for reporting servers.
The server defaults are faster for transactions and fast SELECTs.
Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES