为了账号安全,请及时绑定邮箱和手机立即绑定

在阿里云服务器linux系统下安装Mysql的踩坑之旅

标签:
Java
  1. 创建对应存储目录
    mkdir /usr/local/mysql
    mkdir /usr/local/mysql/data

  2. 复制
    mv mysql-5.7.11-linux-glibc2.5-x86_64/* /usr/local/mysql/

  3. 创建用户组以及用户并关联
    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql.mysql /usr/local/mysql/

  4. 接下来  cd /usr/local/mysql  ,进入mysql的安装目录

  5. 初始化数据  ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

  6. 复制配置文件
    cp -a ./support-files/my-default.cnf /etc/my.cnf  (输入y,回车)  (备注@1)
    mysql的服务脚本放到系统服务中
    cp -a ./support-files/mysql.server /etc/init.d/mysqld

  7. 接下来进入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

  8. 重启mysql    命令  /etc/init.d/mysqld restart
    可以看到shut down ok
    start ok的相关输出(和这个不一样,基本意思英语应该可以看懂)

  9. 初始化密码
    cat /root/.mysql_secret    (输出的就是root用户初始密码)
    ./mysql -uroot -p
    输入刚才的密码进入了mysql


    https://img1.sycdn.imooc.com//5d2d2f4000014c3101360088.jpg

    屏幕快照 2018-11-06 下午1.14.29.png


    出现这样的mysql可以输入的情况,你的mysql就基本OK了
    此时只能本地登陆,接下来进行最后的配置

// 备注,这一步是说明,创建快捷方式什么时候执行都可以,顺这执行下去也没问题

  1. 这里没有使用软链,不然每次都要
    cd /usr/local/mysql/bin
    然后  ./mysql -uroot -p  输密码进入
    执行数据库的登陆操作,很麻烦

  2. 相当于创建快捷方式
    ln -s /usr/local/mysql/bin/mysql /usr/bin
    之后就可以在任何目录使用 mysql -u root -p 输入密码登陆数据库了

  3. mysql> SET PASSWORD = PASSWORD('123456');
    设置你的root用户的登陆密码,这里是123456,你可以随便更改,结尾的;不要忘记了
    结尾的;不要忘记了
    结尾的;不要忘记了
    结尾的;不要忘记了

  4. mysql> flush privileges;    (刷新权限表)

  5. mysql>use mysql;  (进入mysql这个数据库)

  6. mysql> select host, user from user;  (这里可以查看有多少用户)

一般而言除了修改root用户的密码,其他的都不会修改
也不要尝试mysql>  update user set host = '%' where user = 'root';
上面那条命令的意思的允许远程登陆数据库,但是不允许本地登陆,有多无语,你可以试试,让在重新初始化磁盘再来一次了

  1. 接下来可以为数据库添加其他用户,进行管理
    mysql>CREATE USER 'aaa'@'%' IDENTIFIED BY '123456';
    表示创建新的用户,名为aaa,新用户密码为123456,用户,密码随自己更改

  2. 一般数据库都会要求可以远程连接,mysql处于安全默认不允许远程连接,需要收到赋予相应用户权限
    登陆数据库
    mysql> use mysql;
    GRANT ALL PRIVILEGES ON . TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
    替换掉你设置的用户名和密码即可,最好不要多mysql的root用户使用,执行完刷新权限
    mysql> flush privileges;
    mysql> exit;
    退出数据库,一切OK,

  3. 基于当前安装目录的一些mysql命令
    /etc/init.d/mysqld stop   停止mysql
    /etc/init.d/mysqld restart   重启mysql

// 安装过程中要主要当前目录,出现no such 之类的找不到文件的英文提示,要查看下目录是否和上述一致,

备注@1,如果提示找不到文件,可以直接
vi /etc.my.cny
按 i,进去编辑状态
复制,粘贴即可
esc + :wq + enter 保存退出

  1. 配置文件内容如下

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



作者:红瞳雀
链接:https://www.jianshu.com/p/18cb7b2e4e19


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消