mariadb (a)는 바이너리 모드의 노트의 리눅스 설치 및 제거를 학습

다음과 같이 참고 문헌은 다음과 같습니다 :

https://www.cnblogs.com/staryea/p/8514144.html

https://www.centos.bz/2018/02/mariadb-mysql%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6my-cnf%E8%A7%A3% 에 AF % BB %의 E8 /    각 구성 속성 mariadb의 해석 ----

https://blog.csdn.net/cgb278653219/article/details/84917381

https://www.cnblogs.com/ivictor/p/5727395.html

https://blog.csdn.net/jinpengncu/article/details/77879844

https://blog.csdn.net/I_jump/article/details/99691829

https://blog.csdn.net/shaochenshuo/article/details/80162005

https://www.cnblogs.com/LvLoveYuForever/p/5585197.html     mariadb 초기화 코드를 설치 한 후

https://www.cnblogs.com/ysuwangqiang/p/11766470.html

https://blog.csdn.net/seesun2012/article/details/83088661

https://blog.csdn.net/weixin_30383279/article/details/97524581    --- 제거 할 수있는 방법을 제공합니다

첫째, 준비 작업

(1) 설치 패키지 GZ 형식을 다운로드 할 수있는 공식 웹 사이트;

(2) 설치 패키지 Linxu 설치되는 서버에 업로드;

(3) 환경을 확인;

  •  -i lsof를 명령 : 포트가 점유하는 경우 3306를 확인합니다;
  •  PS -aux으로 | 그렙 MySQL의 또는 mariadb은 시스템이 데이터베이스에 설치되어보기;

둘째, 설치

1, 패키지를 추출

  • CD xxxxx는 (소프트웨어 디렉토리)
  • 타르 -zxvf mariadb - 10.1.43 - 리눅스 - x86_64.tar.gz

          GZ 패키지는 같은 디렉토리에 압축을 해제합니다

2, 역량 강화

  •   chmod를 -R 777 *

     mariadb - 10.1.43 - 리눅스 x86_64의 폴더 권한 부여에서 추출하려면

3, 구성 파일의 my.cnf

  • CD 지원 - 파일
  • 내-small.cnf /etc/my.cnf에를 cp를

         my.cnf 파일은 / etc 디렉토리에 파일을 복사

  • 정력 /etc/my.cnf에

        # 예 MySQL의 설정 파일 : 다음과 같이 편집 파일은 예입니다 에 대한 작은 시스템.

# 
#입니다 위해 약간의 메모리 (<=와 시스템 MySQL은에만 사용됩니다 64M) 
때때로 그것은 # 의 중요한의 mysqld 데몬 것을 
# 많은 자원을 사용하지 않습니다. # 
# MySQL의 프로그램은 볼 에 대한 일련의 옵션 파일 
배포 플랫폼에 의존 # 위치. 
# 당신은 복사 할 수 있습니다 그 중 하나에 옵션 파일을 
# 위치. 이러한 위치에 대한 자세한 내용은 다음을 참조하십시오 
# HTTP : // dev.mysql.com/doc/mysql/en/option-files.html # 
#을에서  파일은 모두 사용할 수있는 프로그램을 지원하는 옵션을.


# 당신이 프로그램을 지원하는 프로그램을 실행하는 옵션을 알고 싶다면 
와 #을 "--help" 옵션을 선택합니다. 

# 다음 옵션은 모든 MySQL의 클라이언트에 전달됩니다 
[클라이언트] 
#Password 명     = _ 암호 
포트         = 3306 
소켓         = /opt/mariadb-10.1.43-linux-x86_64/ mysql.sock 

# 다음 항목을 다음 에 대한 일부 특정 프로그램 

# MySQL의 서버 
[mysqld를] 
포트
= 3306 사용자 = MySQL의 소켓 = /opt/mariadb-10.1.43-linux-x86_64/ mysql.sock DATADIR= /opt/mariadb-10.1.43-linux-x86_64/data/ mariadb BASEDIR = /opt/mariadb-10.1.43-linux- x86_64에 LOG_ERROR = /opt/mariadb-10.1.43-linux-x86_64/ mariadb.err PID - 파일 = /opt/mariadb-10.1.43-linux-x86_64/ mariadb.pid 스킵 -external- 로킹 key_buffer_size = 64M 의 max_allowed_packet = 64M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M net_buffer_length = 64M thread_stack =240K explicit_defaults_for_timestamp은 = 사실 default_storage_engine = 이노 # 돈 't 모두에서 TCP / IP 포트에서 수신 대기합니다. 이 보안 향상 될 수 # 경우 필요한 모든 프로세스가 동일한 호스트에 mysqld를 실행에 연결합니다. # mysqld를 모든 상호 작용은 유닉스 소켓 또는 명명 된 파이프를 통해 이루어져야합니다. # 사용하는 것을 참고 윈도우에서 명명 된 파이프를 사용하지 않고 옵션을 합니다 (사용 # "수 - 명명 된 파이프"옵션 것은) mysqld를 쓸모없는 렌더링합니다! # #skip - 네트워크 서버 -id = 1 # 주석 다음과 같은 경우를당신은 업데이트를 기록 할 로그 -bin = mysql- # 바이너리 로깅 형식 - 혼합 권장 #binlog_format = 혼합 # 비에 대한 업데이트 원인 - 로 문 형식을 사용하여 트랜잭션 엔진 바이너리 로그에 직접 기록 #을. 사용하기 전에 확인 옵션 메이크업을하는 것이 # 트랜잭션과 비 사이에 종속성이 없습니다 - 트랜잭션 과 같은 SELECT t_myisam 문 INSERT INTO 같이 # 테이블 * FROM #의 t_innodb는; 그렇지 않으면, 슬레이브는 마스터에서 분기 할 수있다. #binlog_direct_non_transactional_updates = TRUE # 주석 해제는 다음과 같은 경우에 당신이 InnoDB 테이블을 사용하는 innodb_data_home_dir를 = /opt/mariadb-10.1.43-linux-x86_64/data/ mariadb innodb_data_file_path에 = 10M : 자동 확장을 ibdata1 innodb_log_group_home_dir = /opt/mariadb-10.1.43-linux-x86_64/ 데이터 / mariadb의 당신은 최대 buffer_pool_size .._ 설정할 수 # 80 % - 50 RAM의 #하지만, 메모리 사용량을 너무 높게 설정 조심 innodb_buffer_pool_size = 64M의 innodb_additional_mem_pool_size = 2M 로 # 설정 .._ LOG_FILE_SIZE을 25 % 버퍼 풀 크기의 innodb_log_file_size = 32M innodb_log_buffer_size = 20M 에서 innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump는] 빠른 의 max_allowed_packet = 16M [MySQL의] -auto- 재탕 # 다음 주석 문자를 제거 하면 당신은 SQL에 익숙하지 않은 #safe - 업데이트 [myisamchk를] key_buffer_size = 8M sort_buffer_size = 8M [mysqlhotcopy] 대화식 -timeout

3, 설치

(1) MySQL 사용자 추가

  • 더 추가가없는 경우 그렙 mysql을 / etc / passwd에 --- MySQL 사용자를 확인합니다
  • useradd와 mysql을 --- 사용자 추가 mysql을
  • 대한 Chown mysql.mysql /opt/mariadb-10.1.43-linux-x86_64/data/mariadb -R --- 임 파워에 MySQL에 데이터베이스 저장소 디렉토리

문제 :

  useradd와 실행하면 다음과 같은 팁이 나타날 수 있지만 다음과 같은 문제는 사용자가 추가 영향을주지 않습니다.

그러나 다음과 같은 방법을 통해이 문제를 해결하기 위해 노력 :

  사용자 삭제 userdel과 mysql을하지만 userdel을 -rf MySQL을 사용하지 않는

 그림을 생각 나게하는 것이 실수가없는이 시간을 볼 수 있습니다.

인터넷 사용자는 다른 방법의 생성을 참조하십시오

[루트 @ 노드 1 ~] 중 #은 useradd -M -R 및 LT -s / 빈 / MySQL의 nologin으로 
[루트 @ 노드 1 ~ ] ID # MySQL의 
UID = 987 (MySQL의) GID = 981 (MySQL의) 기 = 981 (MySQL이) 
, 변경이 데이터베이스에 그것은 주요 루트의 그룹입니다
[root@node1 local]# chown root.root -R mysql

(2) 데이터베이스를 초기화하기

  • CD를 /opt/mariadb-10.1.43-linux-x86_64/scripts
  • ./mysql_install_db --datadir = / 옵션 / mariadb - 10.1.43 - 리눅스 x86_64의 / 데이터 / mariadb --basedir = / 옵션 / mariadb - 10.1.43 - 리눅스 x86_64에의 --defaults-파일 =은 / etc / 내. CNF --user = MySQL의

     참고 :이 실행 스크립트 mysql_install_db가, 당신은 앞에서 수행 할 ./ 추가해야합니다.

 성공은 발생 위에 표시됩니다.

   설치가 성공적으로 사실 여부를 확인합니다 :

  • LL /opt/mariadb-10.1.43-linux-x86_64/data/mariadb/

 개 이상의 빨간색 상자가 성공적인 설치를 나타납니다.

문제 :

  •    在执行初始化脚本过程中,可能会因为别的原因,导致初始化失败,此时可以查看mariadb的日志(在/etc/my.cnf 中设置 log_error 来指定错误日志路径)

 

  •  还可能出现如下权限问题

  所以需要给mysql 用户赋读取数据库目录的权限,可以使用命令  chown mysql.mysql /opt/mariadb-10.1.43-linux-x86_64/data/mariadb -R 

(3) 注册成系统服务

  • cp support-files/mysql.server /etc/init.d/mysqld
  • chkconfig --add mysqld # 添加至系统服务
  • chkconfig mysqld on # 设置开机自启动
  • chkconfig --list |more   --- 查看启动项

(4) 设置指向安装目录的软链接

  • ln -s 安装目录  /usr/local/mysql

   这样是把数据库安装别的目录了。mariadb 编译的时候默认为是安装在 /usr/loca/mysql下的

(5) 以后台服务先试运行

出现问题:

  • ./mysqld_safe --defaults-file=/etc/my.cnf
[root@CI-Fsdmdept-DB-72-73 bin]# ./mysqld_safe --defaults-file=/etc/my.cnf
Warning: World-writable config file '/etc/my.cnf' is ignored
Warning: World-writable config file '/etc/my.cnf' is ignored
200114 17:15:54 mysqld_safe Logging to '/usr/local/mysql/data/CI-Fsdmdept-DB-72-73.err'.
200114 17:15:54 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
/opt/mariadb-10.1.43-linux-x86_64/bin/mysqld_safe_helper: Can't create/write to file '/usr/local/mysql/data/CI-Fsdmdept-DB-72-73.err' (Errcode: 2 "No such file or directory")
Warning: World-writable config file '/etc/my.cnf' is ignored

  这个原因是之前 在etc目录下生成my.cnf 执行了命令 chmod -R 777 的权限,导致  其变成全局用户可写了。提示Warning: World-writable config file ‘/etc/my.cnf’ is ignored ,大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。

解决办法,重新给该文件赋权限。执行以下命令:

  • chmod 644 /etc/my.cnf

      my.cnf设置为用户可读写,其他用户不可写.

PS:所以在执行文件操作的时候,最好还是使用 cp 命令进行 拷贝,使用 vim 进行在线编辑。

若不解决以上问题,想继续往下走,此时可以执行:

  • ./mysqld_safe --datadir='/opt/mariadb-10.1.43-linux-x86_64/data/mariadb' --basedir=/opt/mariadb-10.1.43-linux-x86_64

 此时又出现红色区域问题,解决办法:

红色区域表示 写文件没有权限,此时需要给文件夹 

mariadb-10.1.43-linux-x86_64 赋权限,可以进行使用如下命令:

  • cd /opt/mariadb-10.1.43-linux-x86_64
  • chmod -R 777 *

接着再次执行命令启动服务

  • /mysqld_safe --datadir='/opt/mariadb-10.1.43-linux-x86_64/data/mariadb' --basedir=/opt/mariadb-10.1.43-linux-x86_64   或 ./mysqld_safe --defaults-file = /etc/my.cnf
  • ps -aux|grep mysql   ----  查看服务是否启动

 出现上图表示服务已经启动。

(5) 修改用户密码

 可以按照之前初始化数据库成功时,提示的指导来执行。

  • ln -s /opt/mariadb-10.1.43-linux-x86_64/mysql.sock /tmp/     方便登录mysql 对mysql.sock文件做个软连接;(因为mysql.sock文件我们在配置文件里已经修改了默认路径,需要软连接到/tmp/下)

  • ./mysqladmin -u root password '123456'     ---- 设置初始密码

(6) 可选操作(MySQL 安全配置)

     可以参考:https://www.cnblogs.com/54db/p/7586577.html    PS:后续试验补充

(7) 设置允许远程访问

  • ./mysql -uroot -p     --- 登录数据库
  • GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'xxxx' WITH GRANT OPTION;  xxx为密码

  • flush privileges;

问题:

(1) 在登录的时候,会提示找不到文件

 

 解决办法:

  • ldd mysql    ---- 查找依赖

   发现依赖库均在lib64上,所以通过 ll /lib64/libtinfo.so.* 查找是否存在 libtinfo.so.xx的文件,执行完,发现如下:

 

 lib64 目录下存在libtinfo.so文件,进行软链接。

 

 上图表示已补全依赖库,此时再次登录数据库

(2) 通过以上命令设置远程,发现使用工具还是使用不上,需进行以下方式进行排查。

  • show grants;

 

 以上显示仅有 root 通过localhost才能连接,其他无法连接,此时要插入 root@% 权限。

三、卸载

1、关闭 mysql 服务

  1. 关闭mysql服务
service mysql stop 或 /etc/init.d/mysql stop 或 mysqladmin shutdown -uroot -p
  1. 删除数据文件和目录
  1.  
    whereis mysql
  2.  
    find / -name mysql
  3.  
    rm -rf xxx
  1. 删除软链接,二进文件(如有必要)
  1.  
    cd /usr/ local/
  2.  
    unlink mysql
  1. 删除自启动配置,配置文件
  1.  
    chkconfig -- del mysql
  2.  
    rm -f /etc/init.d/mysql /etc/my.cnf
  1. 删除mysql用户和用户组(如有必要)
  1.  
    userdel mysql
  2.  

추천

출처www.cnblogs.com/sandyflower/p/12189494.html