`

linux mysql

 
阅读更多
在linux下安装 mysql (rpm版), 必须先装载之前的mysql
------------------------------------------------------------
1.检查之前没有安装mysql
rpm -qa|grep -i mysql

rpm -e mysql-5.1.7 --nodeps

2.删除之前的残留文件
whereis mysql

一般都是在
/var/lib/mysql
/etc/my.cnf

3.安装
rpm -ivh MySQL-ser...
rpm -ivh MySQL-cli...


然后是root的随机密码
/root/.mysql_secret

默认配置文件
/usr/my.cnf

默认日志, 数据库都晨
/var/lib/mysql

4.修改root密码
通过.mysql_secret文件找到默认密码, 然后登陆后修改
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');




--------------------
在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;




安装mysql 二进制版
------------------------------------------------------------
1.先卸载rpm版本的mysql(如果有的话)
参考上面

2.把mysql放到指定目录, 如
/usr/mysql/mysql5.6.28

3a.官方指引:
建立mysql账号
建立data目录, 给权限mysql
然后把suppor-files/mysql.server cp 到 /etc/inid.d
然后 service mysql.server start 就可以了

3b.手动版
分析mysql.server, 它是执行mysqld_safe启动的
再分析 mysql_safe, 它是执行mysqld启动的

直接手动 mysqld_safe --defaults-file=my.cnf
失败, 查看data/err文件, 说找不到 table: mysql.plugin (指data/mysql/plugin.frm)
发现data目录里没有建立mysql数据库目录
一堆翻查脚本, 发现scripts/mysql_install_db就是干这事的, 执行它:
mysql_install_db  --basedir=/usr/mysql/mysql5.6.28 --datadir=/usr/mysql/mysql5.6.28/data

再去看data目录, mysql数据库已经生成了
然后执行mysql_safe, 还是失败, 查看err, 说是 plugin access deined, 没有权限,
因为是之前说的, 默认是使用mysql账号, 这里我希望用root账号执行, 于是新建run.sh:

MY_BASEDIR_VERSION=/usr/mysql/mysql5.6.28
export MY_BASEDIR_VERSION
echo $MY_BASEDIR_VERSION
#>dev/null 2>&1 &, 是为了避免shell后在控制台的输出信息, 和挂起后需要按"enter"退出
#想保留屏幕打印的信息: >/dev/null 改为 >lizw.log 2>&1 &
$MY_BASEDIR_VERSION/bin/mysqld_safe --defaults-file=my.cnf --user=root >/dev/null 2>&1 &



注意先--defaults-file, 然后--user才有效
ok!

关闭mysql
ps -e|grep mysql
可以看见2个进程
mysqld_safe - 守护进程
mysqld      - 数据库服务进程

直接kill mysqld的话, 会立马重启, 所以要先kill mysqld_safe, 再kill msqld


变成服务... 待续

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics