• Linux(CentOS6.X)安装mysql


    首先执行rpm -qa|grep -i mysql检查一下是否已经安装过mysql

    mysql-libs-5.1.73-5.el6_6.x86_64

    可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸载时要使用–nodeps选项忽略依赖关系

    卸载老版本的库文件:rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps

    使用wget方式直接下载rpm的bundle包,里面包含了server、client、devel等安装包:wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar

    下载完成后解压:tar -xvf MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar

    得到

    MySQL-server-5.6.36-1.el6.x86_64.rpm
    MySQL-client-5.6.36-1.el6.x86_64.rpm
    MySQL-devel-5.6.36-1.el6.x86_64.rpm
    MySQL-shared-5.6.36-1.el6.x86_64.rpm
    MySQL-test-5.6.36-1.el6.x86_64.rpm
    MySQL-embedded-5.6.36-1.el6.x86_64.rpm
    MySQL-shared-compat-5.6.36-1.el6.x86_64.rpm

    等rpm安装包文件。

    接下来执行rpm安装命令:rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm MySQL-client-5.6.36-1.el6.x86_64.rpm安装server和client,可能安装失败,提示错误信息:

    warning: MySQL-server-5.6.36-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    libaio.so.1()(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64
    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64
    libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64
    libnuma.so.1()(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64
    libnuma.so.1(libnuma_1.1)(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64
    libnuma.so.1(libnuma_1.2)(64bit) is needed by MySQL-server-5.6.36-1.el6.x86_64

    这都是因为缺少依赖的相关包造成的,解决办法是通过yum直接安装这些依赖包。
    yum -y install libaio
    yum -y install numactl

    依赖包安装好后再次执行rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm MySQL-client-5.6.36-1.el6.x86_64.rpm来安装server和client。

    附上一张完整的安装过程图:注意最后的安装过程信息,后面有用。

    安装过程

    安装成功之后,我们来启动mysql服务。执行service mysql start。启动成功之后,在执行mysql -uroot -p命令登录数据库,此时提示错误:

    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

    因为我们没有密码。Mysql 5.6及以后版本出处于安全考虑,root密码不为空,并强制登陆之后要修改密码。所以在MySQL的安装过程中,会生成一个随机密码。但这个随机密码在哪呢?在这里感谢潇湘隐者提供的解决办法。这时候回过头去看我们MySQL的安装日志信息中:
    随机密码
    你会看到MySQL生成了root用户的随机密码,并将这个随机密码放置在/root/.mysql_secret中。知道这个就简单了,执行more /root/.mysql_secret查看文件内容:

    # The random password set for the root user at Fri Apr 21 08:16:33 2017 (local time): 4fsMZJ8tWAL6IAIJ

    最后这个字符串就是随机密码,复制下来,再次执行mysql -uroot -p命令登录,提示输入密码的时候粘贴再回车就好了。此时我们还不能进行其它的操作,错误提示:

    ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

    提示必须要先修改密码才能进行别的操作,如图:
    修改密码
    修改密码为root123mysql> set password=password('root123');


    到这里还有个问题就是不能远程连接到这个数据库,因为默认是只支持本地链接的。一下是解决这个问题的方法:
    切换到mysql库:mysql> use mysql
    mysql> update user set host = '%' where user = 'root';

    ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’

    发现主键冲突了,来查看一下这个表的信息:
    mysql> select host from user where user="root";

    +————————-+
    | host |
    +————————-+
    | % |
    | 127.0.0.1 |
    | ::1 |
    | localhost.elasticsearch |
    +————————-+
    4 rows in set (0.00 sec)

    原来host已经有了%这个值,所以直接运行命令
    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

    开启远程步骤

     http://blog.csdn.net/vampirehgg/article/details/70308256

    http://blog.csdn.net/wqc19920906/article/details/52608460?locationNum=10&fps=1

  • 相关阅读:
    python——socket,IO多路复用(select),socket server实现多并发
    python——多线程,多进程,协程
    python——装饰器,迭代器,生成器
    time模块,datetime模块
    re模块,paramiko模块
    Freemaker中使用中括号来包含标签
    Freemaker中使用中括号来包含标签
    freemarker Velocity获取request,session
    freemarker Velocity获取request,session
    freemarker Velocity获取request,session
  • 原文地址:https://www.cnblogs.com/hoobey/p/7136879.html
Copyright © 2020-2023  润新知