Mysql安装与其他操作(Linux)
一、安装
(1)上传、解压、重命名、创建data目录
tar -zxvf ***
mv mysql-5.5 mysql
cd mysql
mkdir data
卸载已有的数据库
rpm -qa | grep mysql
rpm -e --nodeps 文件名
(2)初始化数据库,进入到mysql目录下执行
./bin/mysqld --initialize --user=root --basedir=/usr/mysql --datadir=/usr/local/mysql/data
上面这步如果报错,把下面这个自带数据库删除,/etc.my.cnf也删除
rpm -qa | grep mariadb
rpm -e --nodeps 文件名
同时安装这个离线包
numactl-2.0.7-3.el6.x86_64.rpm
(3)配置/etc/my.cnf
[client] port=3306 socket=/tmp/mysql.sock [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data log-error=/usr/local/mysql/error.log pid-file = /usr/local/mysql/data/mysql/mysql.pid user=root port=3306 socket =/tmp/mysql.sock character-set-server=utf8 #skip-grant-tables
# 5.7.19后,解决Navicat连接执行sql报错:sql_mode=only_full_group_by
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
(4)添加到系统服务
Mysql目录下执行
cp ./support-files/mysql.server /etc/init.d/mysql
(5)启动mysql
service mysql start
如果有类似 Pid文件报错的问题,检查之前的配置是否有误。此外:尝试
修改/etc/selinux/config文件:
将SELINUX=enforcing改为SELINUX=disabled
然后,重启机器。
(6)登录mysql,输入刚才初始化的密码(进入安装目录bin下执行)
./mysql -u root -p
如果忘记初始化密码,则以安全模式进入后修改
ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin
mysqld_safe --skip-grant-tables &
修改mysql的初始密码,否则执行不了任何指令
set password = password('root');
(7)开启mysql远程登录
查看root用户是否开启远程连接:
select host, user from user
更新root用户远程连接
update user set host = '%' where user = 'root';
flush privileges; //刷新权限
重启服务后即可在本地连接
service mysql restart
--如果无法登陆 ,报拒绝连接错误,则需要建立软连接: 先停掉mysql etc/init.d/mysql stop 建立软连接 , ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin 然后再次登陆(进入安装目录bin下) ./mysql -u root -p show databases; use mysql; 更新root用户远程连接 update user set host = '%' where user = 'root'; flush privileges; exit; 重启服务再次本地连接 #grant all privileges on *.* to root@'%' identified by 'liwei123456';
如果还是报Can't connect to MySQL server (10060) ,在阿里控制台把3306端口开启
二、其他操作
(1)、linux数据库的导出
1.先建立软连接
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin ln -fs /usr/local/mysql/bin/mysql /usr/bin
2.在mysql安装目录bin下执行
mysqldump -uroot -p pinyougoudb > abc.sql
导出之后路径默认在bin下
删除某个数据库:drop databse xxx ;
(2)、关闭linux的防火墙
临时关闭,下次开机的时候又会重新启动防火墙
service iptables stop 临时关闭
service iptables start 临时开启
查看状态 service iptables status
永久关闭。下次开机后,防火墙不会在重启
chkconfig iptables off 永久关闭
chkconfig iptables on 永久开启
(3)卸载原来的myql
1. 查找mysql,卸载
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
rpm -e --nodeps ***:卸载
2. 收集、删除mysql的目录
find / -name "mysql"
gg
rm -rf ***
3. 删除mysql用户、组
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
more /etc/group | grep mysql
userdel mysql
groupdel mysql
4. 删除配置信息
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysql