数据库运维
数据库升级要求安装操作系统停止监控前端服务停止数据库数据备份数据迁移-同步数据到新服务器#查看官方安装手册#二进制安装#创建用户和安装目录useradd mysql -r -s /sbin/nologinmkdir -p /usr/local/mysql#解压软件包到安装目录tar -xvf ...#进入mysql解压目录,把里面的所有东西都传到安装目录cp -a ./* /usr/local/mysql#更改权限chown -R mysql.mysql /usr/local/mysql#确保该系统没有my.cnf文件cat /etc/my.cnfrm -rf /etc/my.cnf#手动初始化数据库(在mysql安装目录下)cd /usr/local/mysqlbin/mysqld --initialize --usermysql #这条命令后会出现密码记住bin/mysql_ssl_rsa_setupbin/mysqld_safe --usermysql #设置system服务cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld#设置环境变量#修改密码mysql -uroot -palter user rootlocalhost identified by Aspirine1;#初始化/usr/local/bin/mysql_secure_installation#源码安装#查看文档也查看源代码的#安装依赖环境yum install -y gcc gcc-c make cmake ncurses-devel bison openssl-devel git#解压boost到/usr/local/#编写脚本cmakecd /soft/mysql-5.7.40再创建cmake脚本vi cmake.sh#/bin/bashcmake . \-DCMAKE_INSTALL_PREFIX/mysql40 \-DMYSQL_DATADIR/mysql40/data \-DMYSQL_TCP_PORT3307 \-DMYSQL_UNIX_ADDR/mysql40/mysql40.sock \-DWITH_INNOBASE_STORAGE_ENGINE1 \-DWITH_PARTITION_STORAGE_ENGINE1 \-DWITH_FEDERATED_STORAGE_ENGINE1 \-DWITH_BLACKHOLE_STORAGE_ENGINE1 \-DWITH_MYISAM_STORAGE_ENGINE1 \-DENABLED_LOCAL_INFILE1 \-DEXTRA_CHARSETSall \-DDEFAULT_CHARSETutf8mb4 \-DDEFAULT_COLLATIONutf8mb4_general_ci \-DDOWNLOAD_BOOST0 \-DWITH_BOOST/usr/local/boost_1_59_0#r如果执行脚本失败要清楚缓存才能再次执行rm -rf CMakeCache.txt CMakeFilessh cmake.sh#编译安装make make install#源码安装方式不需要手动创建目录make install时检测到没有会自动创建#配置权限chown -R mysql.mysql /mysql40bin/mysqld --initialize --usermysql #这条命令后会出现密码记住bin/mysql_ssl_rsa_setupbin/mysqld_safe --usermysql #启动服务cp /mysql40/support-files/mysql.server /etc/init.d/mysqld40#独立启动方式service mysqld40 startservice mysqld stopservice mysqld status#初始化cd /mysql40/bin./mysql_secure_installation#同时存在两个数据库通过sock连接用别名简化alias mysql33‘mysql -S /tmp/mysql.sock’alias mysql40mysql -S /mysql40/mysql40.sock#远程连接通过ip端口mysql -h192.168.255.10 -P3306 -uroot -pAspirine1#mysqladmin管理数据库工具在bin目录下的#利用mysqladmin修改密码和关闭数据库alias mysqladmin33mysqladmin -S /tmp/mysql.sockalias mysqladmin40mysqladmin -S /soft/mysql40/mysql40.sock#关闭数据库mysqladmin40 shutdown -uroot -proot#修改密码mysqladmin40 -uroot -proot passsword 123#不如 alter user#修改密码拓展#两种方式修改1.一种是mysqladmin2.另一种是通过sql语句修改因为用户信息本质也是保存在mysql表中的(这种危险是因为假如忘记加where可能就把所有用户的密码都改了)3.第三种alter user rootlocalhost identified by 123#show databases;时可以看到有mysql这个是很重要的东西没有这个启动不了mysql用户信息表也在里面#可以use mysql进入数据库show tables;查看到user表#通过select user,host from user;可以看到所有用户#上一个人离职没告诉密码需要重置数据库密码就需要通过sql语句重置密码要先关闭数据库跳过授权表service mysqld40 stop./mysqld_safe --usermysql --skip-grant-tables mysql -S /mysql40/mysql40.socket#就可以直接不用密码进来了然后用sql语句改密码update mysql.user set authentication_stringpassword(123456) where userroot and hostlocalhost; flush privileges;#mysql配置文件#在安装目录编写配置文件[mysqld]是服务端的参数配置[mysql]是客户端的参数配置[mysqld]basedir/usr/local/mysqldatadir/usr/local/mysql/datasocket/usr/local/mysql/mysql33.sockport3308#想修改配置文件信息只要修改 my.cnf 完后重启就行service mysql40 restart#排错拓展遇到启动失败就可能是配置文件没按预期读取读取到了其他的my.cnf可以看数据目录下的以主机名命名的文件 日志——tail -f