这篇文章主要为大家展示了“Mysql 8.0如何实现源码编译安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql 8.0如何实现源码编译安装”这篇文章吧。路径:https://dev.mysql.com/downloads/mysql/这里选择 mysq-8.0.16.tar.gz##查询##清理(如果存在的话)##或者yum -y install gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel编译的时候,分别错误提示:
CMake 3.4.3 or higher is required. GCC 5.3 or newer is required所以需要安装Cmake和GCC的相关版本请参考:
http://blog.itpub.net/69915315/viewspace-2648182 (1) 进入目录 mysql-8.0.16 ,建立一个目录,用于存放编译好的软件 (2) 进入子目录xiaochong,进行编译前的配置。 主要cmake后是 . . , 执行其父目录。 配置参数:末尾如下提示,表示成功。– Configuring done– Generating done– Build files have been written to: /software/mysql-8.0.16/xiaochong————————————————————————————————–错误1 c++: error: unrecognized command line option ‘-std=c++14’解决方式: 添加: -DCMAKE_CXX_COMPILER=/usr/bin/g++这里是两个实例的目录,分别是3306和3307.创建后,目录结构如下:[root@mysql80 /]# cd data[mysql@mysql80 data]$ tree ..└── mysql├── 3306│ ├── data│ ├── innodb│ ├── innodb_log│ ├── log│ └── tmp└── 3307├── data├── innodb├── innodb_log├── log└── tmp(1)3306
内容如下:(1)3307内容如下:(1) 3306(2) 3307错误如下:[mysql@mysql80 ~]$ mysqld –defaults-file=/data/mysql/3306/my.cnf –initialize –user=mysqlmysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.9′ not found (required by mysqld)mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21′ not found (required by mysqld)mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.8′ not found (required by mysqld)mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20′ not found (required by mysqld)解析办法: 原因: 由于我们之前升级了gcc,也就是gcc-5.3.0. 但目录 /lib6免费主机域名4/ 下的库文件链接的是libstdc++.so.6 依然软链接是低版本libstdc++.so.6.0.19[root@mysql80 /]# cd /lib64/[root@mysql80 lib64]# ls -l | grep libstdc++.so.6lrwxrwxrwx. 1 root root 19 Jun 19 14:36 libstdc++.so.6 -> libstdc++.so.6.0.19-rwxr-xr-x. 1 root root 991616 Apr 24 22:24 libstdc++.so.6.0.19进入到新安装的gcc-5.3.0的目录,进入lib64,查看libstdc++.so.6,软链接的是libstdc++.so.6.0.21[root@mysql80 gcc-5.3.0]# cd lib64/[root@mysql80 lib64]# ls -l | grep libstdc++.so.6lrwxrwxrwx. 1 root root 19 Jun 25 15:54 libstdc++.so -> libstdc++.so.6.0.21lrwxrwxrwx. 1 root root 19 Jun 25 15:54 libstdc++.so.6 -> libstdc++.so.6.0.21-rwxr-xr-x. 1 root root 11089328 Jun 25 15:54 libstdc++.so.6.0.21处理: 删除原来的软链接,建立新的软链接:[root@mysql80 lib64]# rm -rf libstdc++.so.6[root@mysql80 lib64]# ln -s /usr/local/gcc-5.3.0/lib64/libstdc++.so.6 libstdc++.so.6[root@mysql80 lib64]# ls -l | grep libstdc++.so.6lrwxrwxrwx. 1 root root 41 Jun 26 14:48 libstdc++.so.6 -> /usr/local/gcc-5.3.0/lib64/libstdc++.so.6(1) 3306
/mysqld_safe –defaults-file=/data/mysql/3306/my.cnf –user=mysql &(2)3307/mysqld_safe –defaults-file=/data/mysql/3307/my.cnf –user=mysql &这里以3306实例为例,3307步骤相同,只需要注意端口号即可,即大写的 -P(1)查找root@localhost的初始密码,查看当前错误日志more /data/mysql/3306/log/mysql-error.log找到如下行,标红的即是密码:[MY-010454] [Server] A temporary password is generated for root@localhost:
?/ihz.ew8SIymysql -uroot -p’?/ihz.ew8SIy’ -P3306 -S /data/mysql/3306/mysql.sock (2)登录mysql -uroot -p’?/ihz.ew8SIy’ -P3306 -S /data/mysql/3306/mysql.sock (3)修改密码ALTER USER ‘root’@’localhost’ IDENTIFIED WITH sha256_password BY ‘Yxc@3306’ PASSWORD EXPIRE INTERVAL 360 DAY; (4) 查询数据库ysql> show databases;+——————–+| Database |+——————–+| information_schema || mysql || performance_schema || sys |+——————–+4 免费主机域名rows in set (0.00 sec)以上是“Mysql 8.0如何实现源码编译安装”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!
相关推荐: Centos7上卸载MariaDB数据库并安装mysql的过程是怎样的
这篇文章给大家介绍Centos7上卸载MariaDB数据库并安装mysql的过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。(1) 列出所有被安装的rpm package(2) 卸载此时报错:(3) 免费主机域名强制卸载,因为没…