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即可