转自:https://www.cnblogs.com/netsa/p/7088494.html
简略步骤:
mysql5.6.41编译安装步骤:
下载mysql
准备用户和组
yum安装依赖
解压mysql
cmake编译mysql
make && make install ----时间约10分钟
mysql安装目录权限设置
数据库初始化
拷贝配置文件
root密码重置,原来是没密码的
远程账户授权
设置服务启动和开机启动
======实战==============================
1 #安装依赖
2 yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl vim
3
4 #准备用户和组
5 groupadd mysql
6 useradd mysql -g mysql -M -s /sbin/nologin
7 下载mysql 5.6.41,使用fillzeler传输源码包到远程主机目录下
14 #解压包
15 tar -zxvf mysql-5.6.25.tar.gz17 #进入解压后的目录
18
19 cd mysql-5.6.25
20
21 # 开始编译,可自行修改目录和端口
22
23 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
24
25 #编译完成后安装(时间约20分钟)
26
27 make && make install
28
29 #如果需要重新编译要删除(可选)
30
31
32 rm -rf CMakeCache.txt
33
34 #目录授权
35
36 chown mysq:mysql /usr/local/mysql
37
38 #数据库初始化,此处注意执行脚本的方式和初始化参数的正确性,不然会造成初始化的不成功,不会创建mysql库。注意仔细看初始化的成功提示
成功类似如下:
39 cd /usr/local/mysql
40
41 ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
执行上面这句脚本命令时报错:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
查阅资料,解决方法如下
安装autoconf库
命令:yum-y install autoconf //此包安装时会安装Data:Dumper模块
安装完成后,再次运行上面脚本命令成功
43 #拷贝配置文件
44
45 cp support-files/my-default.cnf /etc/my.cnf
46
47 #修改my.cnf配置
48 vim /etc/my.cnf
49
50 [mysqld] 添加:
51datadir=/usr/local/mysql/data
52default-storage-engine=InnoDB
53lower_case_table_names=1
54
55 #设置环境变量
56 [root@localhost ~]# vi /root/.bash_profile
57 在修改PATH=$PATH:$HOME/bin为:
58 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
59 [root@localhost ~]# source /root/.bash_profile //使刚才的修改生效
60
61 #传统启动方式启动
62
63 bin/mysqld_safe --user=mysql &
运行上面63行命令遇到问题:-bash: mysqld_safe: command not found
查找到的解决方案:
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql
执行:ln -s /usr/local/mysql/bin/mysql* /usr/bin
然后执行:mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
最后就可以用:mysql -uroot -p 登陆了
67 #制作成服务启动
68 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
69 相关命令:
70 service mysql start
71 #停止mysql服务
72 service mysql stop
73 #重启mysql服务
74 service mysql restart
75
76 #添加到开机启动项
77 chkconfig --add mysql
78
79 #修改root密码(前提是mysql启动成功)
80 cd /usr/local/mysql
81 #./bin/mysqladmin -u root password
82
83 #mysql 账户访问授权及远程访问授权及密码修改
84
85 [root@localhost mysql]# mysql -u root mysql
86 mysql> use mysql;
87 mysql> desc user;
88 mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力
89 mysql> update user set Password = password('123456') where User='root'; //设置root用户密码
90 mysql> select Host,User,Password from user where User='root';
91 mysql> flush privileges;
92 mysql> exit
93
94 #至此mysql安装完成,进入mysql
95
96 mysql -uroot -p
97
98 根据提示输入密码即可。