mysql编译安装

编译安装mysql5.6

 

首先检查机器mysql

rpm -qa|grep -i mysql

 

删除相关mysql内容:

yum remove 上面查出来的相关信息

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

 

[root@localhost mysql-5.6.35]# 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=/usr/local/mysql/data/mysql.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

 

Centos7操作 编译安装mysql5.7  需要安装boost

-DCMAKE_INSTALL_PREFIX=/data/service/Mysql/mysql \

-DMYSQL_DATADIR=/data/service/Mysql/mysql/data/ \

-DMYSQL_UNIX_ADDR=/data/service/Mysql/mysql/data/mysql.sock \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/data/service/boost_1_59_0 \

-DDEFAULT_COLLATION=utf8_general_ci

注意:还会生成一个随机数据库密码

[root@localhost mysql-5.6.35]# make && make install

[root@localhost mysql-5.6.35]# make clean

 

8、设置权限

查看是否有mysql用户及用户组

[root@localhost mysql-5.6.35]# cat /etc/passwd

[root@localhost mysql-5.6.35]# cat /etc/group

如果没有就添加mysql用户和组

[root@localhost mysql-5.6.35]# groupadd mysql

[root@localhost mysql-5.6.35]# useradd -g mysql mysql

修改/usr/local/mysql权限

[root@localhost mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql

 

9、初始化配置

进入安装路径

[root@localhost mysql-5.6.35]# cd /usr/local/mysql

执行初始化配置脚本,创建系统自带的数据库和表

[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

 

10、启动MySQL

添加服务,拷贝服务脚本到init.d目录

如果/etc目录有之前存在的my.cnf文件,将其重命名。启动MySQL服务时,会优先在/etc目录下查找

[root@localhost mysql]# mv /etc/my.cnf /etc/my.cnf.bak

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql

[root@localhost mysql]# chkconfig mysql on

[root@localhost mysql]# service mysql start  --启动MySQL

 


mysql在使用root重置命令后出现必须使用alter user 语句来重置密码,请问如何重置?

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

flush privileges;

 exit;

随机密码在cat ~/.mysql_secret

 

出现bash:mysql not found 

cat /etc/profile

export PATH=$PATH:/mysql/mysql/bin  加变量

 

设置外网可以访问

在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:

create database mynewdatabase;

#use mysql;

#select host,user from user;

#update user set host='%' where user ='root';

#flush privileges;

 

导入mysql方法1(测试好用)
进入linux命令命令行下:

创建需要的库名

create database 库名;
mysql -u root -p 回车 输入密码
mysql> use weifang
mysql> source /home/user/data/fileName.sql

注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql

 

 

 

Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,

至于为什么没有这个文件而MySQL却也能正常启动和作用,在点有两个说法,

第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,

第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL,

解决方法,只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可

posted @ 2018-05-24 15:42  疯狂的米粒儿  阅读(207)  评论(0编辑  收藏  举报