mysql安装
安装前需要向安装依赖包,可以通过yum安装mysql编译需要的依赖包
yum install gcc gcc-c++ perl
把下载的安装包上传到服务器解压
tar zxvf mysql-5.6.42.tar.gz
创建安装目录
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
安装mysql软件目录,修改目录拥有者为mysql用户
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/data
进入安装目录
cd mysql-5.6.42
编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_bin -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
(//以上参数分别为安装目录、数据目录、字符集、扩展的字符集、MYISAM/INNODB存储、是否允许执行本地load data infile,附参数说明
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock)
make
make install
初始化数据:
mysql安装完成之后需要安装文件,在mysql的安装目录下的scripts文件夹里可以看到mysql_install_db,用来安装mysql数据文件,指定mysql用户
cd /usr/local/mysql/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
启动mysql
/usr/local/mysql/support-files/mysql.server start
注:如果MySQL启动出现The server quit without updating PID file错误一般是因为 my.cnf晚上查询可以修改配置文件或者删除/etc/下的my.cnf 文件即可(删除前记得备份)
登录mysql
/usr/local/mysql/bin/mysql -uroot
第一次登陆不需要密码,需要通过mysqladmin设置root登录密码
/usr/local/mysql/bin/mysqladmin -uroot password '111111'
配置环境变量
如果不想要每次启动都需要输入/usr/local/mysql/support-files/这场可以配置环境变量,便于使用
将mysql服务启动放在/etc/init.d/下
cp mysql.server /etc/init.d/mysqld
将/usr/local/mysql/bin/目录添加到环境变量中,vim编辑vim /etc/profile永久添加环境变量,重启生效
export PATH=$PATH:/usr/local/mysql/bin
如果不想重启,也可以在在编辑完vim /etc/profile之后,执行脚本
export PATH=$PATH:/usr/local/mysql/bin
此种方式终端关闭之后就会失效
mysql远程连接
mysql默认不不能远程连接想要实现远程连接只需要登陆后授权即可
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
关键词解释:
root'@'%:是用户
root:是密码
flush privileges;
重启数据库
service mysqld stop
service mysqld start
或者
service mysqld restart