#查询源码包 yum list|grep ncurses-devel
#创建gcc :yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载mysql安装包:wget https://dev.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
解压;tar zxvf mysql-5.6.35.tar.gz
进入;cd mysql-5.6.35
递归创建目录:mkdir -p /usr/local/mysql/data
编译安装:
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/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
DCMAKE_INSTALL_PREFIX=dir_name
设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name
设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name
设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name
设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name
设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num
设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool
是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。
编译并且执行:make && make install
清除:make clean
查看是否有用户组:cat /etc/group
创建mysql用户组;groupadd mysql
将用户mysql天添加到MySQL用户组(第一个mysql是用户组):useradd -g mysql mysql
修改mysql的权限;chown -R mysql:mysql /usr/local/mysql
进入:cd /usr/local/mysql
执行初始化配置脚本,创建系统自带的数据库和表:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
重命名;mv /etc/my.cnf /etc/my.cnf.bak
复制文件:cp support-files/mysql.server /etc/init.d/mysql
设置为开机自启:chkconfig mysql on
启动mysql:service mysql start(mysql具体启动程序在/etc/rc.d/init.d/mysql,注意有的时候不是mysql,可能是mysqld也可能是mysq)
查看mysql异常日志:安装路径下/usr/local/mysql
11、配置用户
设置PATH
[root@localhost mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" /etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
修改root密码
[root@localhost mysql]# mysql -uroot
mysql> SET PASSWORD = PASSWORD('mysql5635');
设置mydba用户可以远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;
防火墙关闭: /etc/sysconfig/iptables stop
防火墙配置: vi /etc/sysconfig/iptables
加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
12、补充
退出后重新在终端登录
[root@localhost ~]# mysql -uroot -p
bash: mysql: command not found
使用完整的路径可以登录
[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot -p(mysql登录的完整的路径在/usr/local/mysql/bin/mysql -uroot -p)
Enter password:
最后建立一个软链接,其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决
[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin
#直接运行export命令定义变量【只对当前shell有效(临时的)】
[root@VMUest ~]# export PATH=/usr/local/mysql/bin:$PATH
[root@VMUest ~]# echo $PATH
它只对当前的shell有效,因此刚配置时可以使用mysql,退出登录就不能使用。后来将export写入到文件/etc/profile,就可以永久有
naicat远程本地错误解决10061分析;
1.可能是防火墙没开
2.在etc找到my.cnf添加bind-address=0.0.0.0(windows是my.ini)
3在mysql设置权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;