Linux Mysql 源码包安装mysql
安装make编辑器c++
make编译器下载地址:http://www.gnu.org/software/make/sql
./configure数据库
makebash
make installsocket
安装bison编辑器
bison下载地址:http://www.gnu.org/software/bison/编码
安装gcc-c++spa
gcc-c++下载地址:http://www.gnu.org/software/gcc/code
./configure
make
make install
---- yum安装 gcc gcc-c++ make
yum -y install gcc
yum -y install gcc-c++
yum install make
cmake安装
http://www.cmake.org/ -- cmake下载地址
wget http://www.cmake.org/files/v3.3/cmake-3.3.1.tar.gz
tar zxvf cmake-3.3.1.tar.gz
./configure
make
make install
ncurses安装
ncurses下载地址:http://www.gnu.org/software/ncurses/
./configure
make
make install
------------------------------------------ yum 安装 ------------------------
yum install ncurses-devel
系统默认安装Mysql卸载
yum remove mysql mysql-server mysql-libs compat-mysql51 -- 下载安装包
rm -rf /var/lib/mysql -- 删除安装目录
rm -rf /etc/my.cnf -- 删除配置文件
rpm -qa|grep mysql -- 查看是否还有mysql软件,还有继续删除
Mysql 安装
http://dev.mysql.com/ -- 源码地址
ftp://mirror.switch.ch/mirror/mysql/Downloads/ -- mysql 源码地址
添加用户
# groupadd mysql
# useradd -r -g mysql mysql
-r :创建系统帐号
-g:指定用户所属的起始群组
-d :指定用户登陆时的启始目录
-m:自动创建用户的登录目录
-M:不自动创建用户的登录目录
安装数据库
# wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
# tar -zxvf mysql-5.6.25.tar.gz
# cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路劲
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ #链接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #容许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装全部的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
# chown -R mysql.mysql /usr/local/mysql -- 改变目录权限
# cd /usr/local/mysql/scripts
# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data -- 初始化数据库库
# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data -- 初始化数据库库(mysql5.7)
注册服务
# cd /usr/local/mysql/support-files
# cp mysql.server /etc/rc.d/init.d/mysql -- 注册服务
# cp my-default.cnf /etc/my.cnf -- 使用默认配置文件
# chkconfig --add mysql -- 让chkconfig管理mysql服务
# chkconfig mysql on -- 开机自启动
# service mysql start -- 启动服务
# cd /etc/my.cnf
查看字符集: SHOW VARIABLES LIKE 'character%'
修改 my.cnf (改变编码,防止乱码)mysql5.7不能这样设置,设置后不能启动服务
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
将mysql的bin加入到path中
cd ~
#我把path添加到当前用户目录的bashrc中,若是须要全局设定,请修改`/etc/profile`
vi .bashrc
#加入如下内容
PATH=/usr/local/mysql/bin:$PATH
export PATH
配置用户密码和远程访问权限
mysql -uroot
-- SET PASSWORD = PASSWORD('123');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; -- 新建一个root帐户,能够任何IP访问,密码为123
update user set password = password('123') where user='root'; -- 修改之后,不能本地空密码登录,5.7 password字段改成 authentication_string 了
flush privileges; -- 使设置当即生效、否者须要重启数据库生效
关闭防火墙(iptables),Mysql远程连不起,能够中止服务或添加端口
service iptables status -- 查看防火墙状态
service iptables stop -- 中止防火墙
5.7 默认有密码,本机登陆也须要密码,跳过密码,在my.cnf [mysqld]中加入 skip-grant-tables,能够直接使用mysql -uroot 登陆不须要密码,登陆成功后修改密码:
update user set authentication_string=PASSWORD('sys123') where User='root';
去掉skip-grant-tables,重启服务,登陆后,不能变动数据库,update user set authentication_string = password('sys123') where user='root'; 重置密码后能够登陆,默认用户只能本地登陆。