mysql 编译安装 - Go语言中文社区

mysql 编译安装


1 安装依赖文件

yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl vim

2准备用户和组

groupadd mysql  (创建用户组)

useradd mysql -g mysql -M -s /sbin/nologin  

-s表示指定用户所用的shell,此处为/sbin/nologin,表示不登录。

-M表示不创建用户主目录。

-g表示指定用户的组名为mysql。

最后的mysql表示用户名。

3.下载mysql5.6.25

wget -c https://downloads.mysql.com/archives/get/file/mysql-5.6.25.tar.gz

4.解压包

tar -zxvf mysql-5.6.25.tar.gz

5.开始编译,可自行修改目录和端口

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306-DENABLED_LOCAL_INFILE=1-DWITH_PARTITION_STORAGE_ENGINE=1-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

其中 DCMAKE_INSTALL_PREFIX表示安装路径,DMYSQL_DATADIR 数据库数据文件路径

DSYSCONFDIR 数据库conf 配置路径

当安装的时候,会报错,由于没有安装cmake 的原因导致,因此需要安装cmake

6,编译安装cmake 

下载cmake :wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz 

解压,tar -zxvf cmake-3.3.2.tar.gz

下载下来后可以直接make && make install 

个人比较喜欢指定一个安装路径,方便查找他的位置。

cd cmake-3.3.2

./bootstrap --prefix=/user/local/cmake (将cmake安装在/user/local/)

make && make install

安装成功后,进入camke的bin中查看版本 cd /user/local/cmake/install/bin  

cmake --version 如果有版本出现,说明安装成功 

接着继续上一部,给mysql 编译修改完路径成功后

编译修改完路径成功后 make && make install;

7.给mysql 目录授权

chown mysql:mysql /usr/local/mysql

8.指定数据存放位置

./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

9.拷贝配置文件

cp support-files/my-default.cnf  /etc/my.cnf (这一步也许会纳闷,为什么要把配置文件放在/etc中。前面开始编译的时候,有一段 -DSYSCONFDIR=/etc 就是说将配置文件放在/etc中)

10 修改my.cnf配置

vim /etc/my.cnf

[mysqld] 添加: 

datadir=/usr/local/mysql/data 

default-storage-engine=InnoDB 

lower_case_table_names=1

12设置环境变量

vi /root/.bash_profile

在修改PATH=$PATH:$HOME/bin为: PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib 

当设置多个的时候用:隔开,个人不建议这么配置,这样设置环境变量,为的目的只是制作服务启用,说白了也就是快捷启动,想象一下,如果有N多个变量设置在里面,当你登录某一个的时候,他就会在这一串的变量中去一个一个找,直到找到正确为止,如果你CPU使用量很高的情况下,那对cpu使用效率就低了,个人建议直接将执行文件cp到一个指定的目录中去执行就行

source /root/.bash_profile//使刚才的修改生效

13.作成服务启动

cp support-files/mysql.server /etc/init.d/mysql

相关命令: 

开启mysql服务:service mysql start 

停止mysql服务:service mysql stop 

 重启mysql服务:service mysql restart 

14.启动完以后,开始修改mysql 密码

cd /usr/local/mysql

./bin/mysqladmin -u root password

15. 账户访问授权及远程访问授权及密码修改

mysql -u root mysql -p

mysql> use mysql;

mysql> desc user;

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%"IDENTIFIED BY"root";//为root添加远程连接的能力

mysql> update usersetPassword = password('123456')whereUser='root';//设置root用户密码

mysql>selectHost,User,PasswordfromuserwhereUser='root';

mysql> flush privileges;

mysql> exit

到此,编译完成,可以远程链接数据库了,如果发现连接不上,就查看一下3306端口有没有被禁,如果被禁用了,就开启。然后重启一下mysql 

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/ce8e9e8f9b95
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 13:29:18
  • 阅读 ( 934 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢