본문 바로가기

mysql29

[mysql] grant all privileges on ranger.* to 'ranger_admin'@'%' with grant option; 쿼리 실행 중에 Access denied for user 'ranger_root'@'%' to database 'ranger' ErrorCode: 1044 오류가 발생하는 경우 해결 방법 아파치 레인저를 설치 하는 중에 setup.sh 를 실행하면 다음과 같은 쿼리를 실행하고, 오류가 발생하였습니다.오류grant all privileges on ranger.* to 'ranger_admin'@'%' with grant option; ranger_admin 유저에 권한 추가다음과 같이 모든 권한을 주었지만 동일한 오류가 발생하였습니다.GRANT ALL privileges on *.* to 'ranger_root'@'%';FLUSH PRIVILEGES;mysql user 테이블 확인ranger_admin 유저에게 모든 권한을 주었기 때문에 이러한 오류가 발생하는 원인을 확인하기 위해서 mysql.user 테이블을 조회하여 보았습니다. 모든 권한을 주었지만 Grant_priv 칼럼의 값이 N인.. 2024. 7. 23.
[mysql] rocky linux9에 mysql 8설치 rocky 리눅스9 버전에 mysql8 버전을 설치 하는 방법은 다음과 같습니다.  # mysql 설치 sudo dnf install mysql-server# 서비스 추가sudo systemctl enable mysqld# 서비스 실행 sudo systemctl start mysqld.service# 실행 상태 확인 sudo systemctl status mysqld# 암호 초기화 sudo mysql_secure_installation# 버전 확인 mysqladmin -u root -p version# root 연결 mysql -u root -p 2024. 5. 7.
[mysql8] Ubuntu22에 mysql8 파일로 설치하는 방법 Ubuntu22에 mysql을 설치 할 때 보통 apt 를 이용하는데 인터넷이 연결되지 않는 환경에서 mysql을 설치해야 하는 경우가 있습니다. Ubuntu 22 기준에서 먼저 설치 파일을 다운로드 합니다. 다음의 사이트에서 DEB Buldle 을 다운로드 합니다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Version: 8.2.0 Innovation 8.0.35 5.7.44 Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Serve.. 2023. 11. 13.
[superset] ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in static TLS block 오류 슈퍼셋을 처음 설치하고 mysql을 연동하는 과정에서 다음과 같은 오류가 발생하였습니다. File "/home/ubuntu/superset/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 309, in warned return fn(*args, **kwargs) File "/home/ubuntu/superset/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 560, in create_engine dbapi = dialect_cls.dbapi(**dbapi_args) File "/home/ubuntu/superset/lib/python3.10/site-packages.. 2023. 11. 8.
[hue] hue 빌드 중 my_config.h: No such file or directory 오류 처리 하는 방법 hue 빌드 중 다음과 같은 오류가 발생하는 경우가 있습니다. building '_mysql' extension x86_64-linux-gnu-gcc -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-W40Ff2/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/include/mysql -.. 2023. 4. 17.
[golang] MySql 드라이버에서 tls 로 접속하는 방법 golang 에서 mysql 드라이버를 이용하여 dsn을 설정하고 접근 하는 방법은 다음과 같습니다. tls 로 접근할 때는 tls=skip-verify 를 설정하면 됩니다. 2023. 3. 8.
[trino] hive, mysql 커넥터 설정 trino는 여러 데이터소스를 커넥터를 이용해서 연결할 수 있습니다. hive와 mysql 커넥터는 다음과 같이 설정할 수 있습니다. hive 커넥터의 경우 필요한 설정 파일 위치를 지정하여 설정을 전달 할 수 있습니다. 2023. 2. 25.
[mysql] Incorrect string value: '\\xF0\\x9F\\x86\\x97' 에러 처리 mysql에 이모지를 입력할 때 다음과 같은 오류가 발생할 수 있습니다. 원인은 mysql이 해당 이미지의 문자값을 지원하지 않을 때 발생합니다. MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x86\\x97 K...' for column 'source_code' at row 1") 해결방법 두 가지 해결방법이 있습니다. 하나는 mysql을 mariadb로 변경하거나, 문자열 설정을 변경하는 것이고, 다른 방법은 이미지를 다른 이모지로 변경하는 것입니다. 🆗 이 이모지는 입력되지 않았지만, ❌ 이모지는 입력되었습니다. 입력이 가능한 비슷한 형태의 이모지를 입력하면 됩니다. my.cnf를 다음과 같이 수정.. 2022. 5. 2.
[airflow] 에어플로우 DB 초기화 중 Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql 오류 에어플로우 설치중 mysql 5.x 버전을 이용할 때 다음과 같은 오류가 발생하는 경우가 있습니다. File "/home/deploy/.local/lib/python3.6/site-packages/alembic/runtime/migration.py", line 560, in run_migrations step.migration_fn(**kw) File "/home/deploy/.local/lib/python3.6/site-packages/airflow/migrations/versions/0e2a74e0fc9f_add_time_zone_awareness.py", line 44, in upgrade raise Exception("Global variable explicit_defaults_for_timest.. 2021. 11. 30.
[hue] 데이터베이스 마이그레이션 중 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20 오류 휴 데이터베이스를 마이그레이션 하는 중에 다음의 오류가 발생하는 경우가 있습니다. 이때는 mysql 라이브러리를 설치 해주면 됩니다. 방법1: pymysql 라이브러리 설치 첫 번째 방법은 파이썬용 pymysql 라이브러리를 설치 하는 것입니다. 설치 방법은 다음과 같습니다. pip install pymysql 방법2: mysql lib 설치 첫 번째 방법을 이용하여 라이브러리를 설치 하는 중 오류가 발생할 수 있습니다. 이때는 mysql 라이브러리를 설치 하면 됩니다. TypeError: 'encoding' is an invalid keyword argument for this function 2021. 10. 6.
[ubuntu] systemctl 명령으로 서비스 등록 우분투에서는 systemctl 명령으로 프로세스를 서비스로 등록할 수 있습니다. 기본적으로 서비스명.service 파일을 만들고 systemd 데몬을 리로드 한 후 실행명령을 사용하면 실행할 수 있습니다. 기본 명령어 예제 서비스 파일의 예제는 다음과 같습니다. mysql 의 서비스 등록 예제와 zookeeper 를 서비스로 등록하는 예제입니다. 2021. 7. 19.
[python] pymysql 을 이용하여 db insert, update, select 하기 파이썬에서 MySQL이나 MariaDB를 이용할 때는 pymysql 라이브러리를 이용합니다. pip를 이용하여 라이브러리를 먼저 설치하고 다음의 예제를 이용하면 됩니다. pymysql 설치 pip install PyMySQL execute vs executemany execute는 단발성 입력 executemany는 배치 잡을 처리 dict 형으로 데이터를 입력할 때 DB의 키워드(예약어) 데이터가 있으면 오류가 발생함. 2020. 12. 28.
[python] _mysql.c: Cannot open include file my_config.h 오류 해결 방법 문제 hue를 빌드하는 중에 파이썬 mysql 라이브러리에서 MySQL-python-1.2.5 컴포넌트를 빌드하는 중 다음 오류가 발생하였습니다. _mysql.c: Cannot open include file my_config.h 해결방법 이 문제를 해결하는 방법은 MySQL 개발 페이지에서 my_config.h 파일을 다운로드 받아서 컴포넌트의 위치에 복사하면 됩니다. MySQL 개발 페이지 https://dev.mysql.com/doc/dev/mysql-server/8.0.11/my__config_8h_source.html 2020. 9. 29.
[MySQL][Error] Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 오류 MySQL 에서 파일의 데이터를 Load할 때 1290 에러가 발생하는 경우가 있습니다. MySQL 8에서는 로컬의 데이터를 입력할 때 보안상의 이유로 지정한 장소의 파일만 업로드가 가능합니다. 에러코드 Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 샘플 코드 # Load 가능한 폴더 확인 명령 SHOW VARIABLES LIKE 'secure_file_priv'; # 데이터 로드 명령 LOAD DATA INFILE "C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\sample.csv" .. 2019. 11. 19.
[spark] JDBC드라이버를 이용하여 spark sql로 데이터 가져오는 방법 스파크 SQL에서는 JDBC드라이버를 이용해서 데이베이스에 직접 접근해서 정보를 가져올 수 있습니다. spark-shell, spark-submit으로 실행할 때 데이터베이스에 접근하기 위한 jar 파일을 함께 제공해야 합니다. 샘플 코드 import java.util.Properties // 프로퍼티 설정 val prop = new Properties() prop.put("user", "db_user_name") prop.put("password", "db_password") // 데이터베이스 연결 및 뷰 생성 val tableDf = spark.read.jdbc("jdbc:mysql://mysql_url:mysql_port/database_name", "table_name", prop) tableDf.. 2019. 11. 13.
[mysql][snippet] Load Data를 이용하여 파일 데이터 입력 MySQL에서 벌크 데이터를 테이블에 입력하는 방법으로 LOAD 명령을 제공한다. 상세한 내용은 아래의 공식 홈페이지에서 확인할 수 있다. 간단하게 데이터를 입력하는 방법은 다음과 같다. MySQL의 기본 구분자인 탭으로 칼럼이 구분되어 있는 데이터 파일이 있다고 하면 다음과 같이 입력하면 된다. - bukl.csv 파일을 db1.table2 테이블에 입력LOAD DATA LOCAL INFILE 'bulk.csv' INTO TABLE db1.table2; https://dev.mysql.com/doc/refman/5.7/en/load-data.html 2017. 8. 24.
[sqoop] 스쿱과 mysql 연동중 Error reading primary key metadata: java.sql.SQLException: Column 'ORDINAL_POSITION' not found. 오류 처리 3351 [uber-SubtaskRunner] ERROR org.apache.sqoop.manager.SqlManager - Error reading primary key metadata: java.sql.SQLException: Column 'ORDINAL_POSITION' not found.java.sql.SQLException: Column 'ORDINAL_POSITION' not found. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLExcept.. 2017. 3. 10.
[MySQL] Cannot convert value '0000-00-00 00:00:00' from column 12 to TIMESTAMP 오류 처리 Cannot convert value '0000-00-00 00:00:00' from column 12 to TIMESTAMP. MySQL과 JDBC 를 이용하여 DB의 데이터를 처리하다보면 위와 같은 오류를 보는 경우가 있다. 원인은 MySQL의 timesamp 값이 '0000-00-00 00:00:00'이 입력되고, 이를 Java 형식으로 변환하는 과정에서 Java의 Date 값은 '0000-00-00 00:00:00' 을 지원하지 않기 때문에 발생한다. MySQL은 날짜형식을 입력하는 중 변환과정에서 오류가 발생하면 '0000-00-00 00:00:00' 으로 입력하고,Warn 을 발생시킨다. 이 때문에 Java 변환 과정에서 오류가 발생한다. 이를 해결하는 방법은 JDBC 연결 옵션에 zeroDa.. 2017. 3. 10.
[sqoop] 스쿱 처리중 invalid callable syntax 오류처리 Error: java.io.IOException: java.sql.SQLSyntaxErrorException: invalid callable syntaxat org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:184)at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:679)at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:802)at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)at org.apache.hadoo.. 2017. 3. 8.
[mysql] datetime 객체사이의 시간차 계산을 위한 TIMESTAMPDIFF() 함수 DB에 저장된 datetime 객체사이의 시간차를 계산하기 위해서는 TIMESTAMPDIFF() 함수를 이용하여 계산 할 수 있다. 함수의 사용방법은 다음과 같다. * unit에는 SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR 를 입력할 수 있다. mysql> select TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2) > from tbl; select id ,TIMESTAMPDIFF(SECOND, created_time, end_time) as a1 ,TIMESTAMPDIFF(MINUTE, created_time, end_time) as a2 ,TIMESTAMPDIFF(HOUR, created_time,.. 2017. 1. 20.
[mysql] 쉘 스크립트에서 mysql 쿼리 실행하기 쉘 스크립트에서 mysql 쿼리를 실행하는 방법은 두가지 방법이 있다. 첫번째는 -e 옵션을 이용하여 처리하는 방법이 있다. mysql -e "select * from TABLE;"mysql -Bse "select * from TABLE;" [user ~]$ mysql -e "select * from TABLE;"+--------+----------------+-----------------------------+| VER_ID | VERSION | COMMENT |+--------+----------------+-----------------------------+| 1 | 0.1.0 | TEST |+--------+----------------+-----------------------------+ .. 2017. 1. 17.
[hive][error] 하이브의 mysql 커넥터 오류 수정 우지를 이용하여 하이브 액션 처리시 다음의 오류가 발생한다. Caused by: MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.reconnect(HiveMetaStoreClient.java:263)at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:88)at com.sun.proxy.$Proxy40.alter_partitions(Unknown Sou.. 2016. 11. 24.
[MySQL][shell] 쉘 스크립트에서 mysql 명령어 사용하기 쉘 스크립트에서 mysql 명령어를 사용하는 방법은 -Bse 옵션이나, -e 옵션을 이용하면 된다. 사용하는 방법은 두개의 옵션이 동일하다. 하지만 결과가 아래와 같이 약간 다르게 나타난다. 결과값 방법에 따라 사용하면 되겠다. mysql -e "select * from TABLE;"mysql -Bse "select * from TABLE;" [user ~]$ mysql -e "select * from TABLE;"+--------+----------------+-----------------------------+| VER_ID | VERSION | COMMENT |+--------+----------------+-----------------------------+| 1 | 0.1.0 | TEST |.. 2016. 11. 7.
[MySQL] 원격 서버에 접속하기 위한 명령어 원격지에 생성된 mysql 서버에 접속하기 위한 명령어는 다음과 같다. -h : 서버 주소-P : 서버 포트-u : 사용자명-p : 사용자 암호 mysql [db_name] : 지정한 db를 use 하는 상태로 접속. mysql -hDB_URL -PDB_PORT -uDB_USER_NAME -pDB_USER_PASSWORD DB_NAME 2016. 11. 7.
node.js와 mysql 연동하기 node.js 에서 mysql과 연동하기 위해서는 우선 npm을 이용하여 mysql 모듈을 설치한다. npm install mysql 설치후 다음과 같이 사용한다. DB 커넥션을 이용한 기본적인 쿼리 실행방법은 다음과 같다. // 모듈을 추출합니다. var mysql = require('mysql'); // 데이터베이스와 연결합니다. var client = mysql.createConnection({ user: 'root', password: 'p@ssw0rd', host: 'localhost', port: 3306 }); // DB와 묵시적으로 연결하여 쿼리를 사용 client.query('use sample;'); client.query('select * from company;'); // 배열을 이.. 2016. 2. 17.
[MySQL] 시작시간과 종료시간의 차이 비교 함수, TIMEDIFF 시작시간부터 종료시간까지의 경과시간(elapsed)를 확인하기 위한 TIMEDIFF 함수 사용 select start_time, end_tiem, timediff(start_time, end_time) from table ; -- result 2015-08-02 00:50:14 | 2015-08-02 09:04:05 | 08:13:51 2015-08-03 00:49:30 | 2015-08-03 08:39:50 | 07:50:20 2015-08-04 00:54:36 | 2015-08-04 08:54:46 | 08:00:10 2015-08-05 00:48:21 | 2015-08-05 01:22:44 | 00:34:23 2015. 8. 5.
DBMS의 공집합과 집합함수 DBMS의 공집합과 집합함수 데이터베이스의 조회조건에 해당하는 값이 하나도 없는 경우를 공집합이라고 한다. 집합함수의 경우 공집합의 경우에 NULL을 반환한다. - 집합함수: count, sum, avg, max, min Toad 같은 툴을 이용하여 쿼리를 날리면 공집합과 NULL값 반환의 구분이 어려운데, CLI를 이용하면 공집합의 경우 Empty Set을 반환하는 것으로 확인 가능하다. MySQL에서 비어 있는 테이블을 이용하여 쿼리를 날릴경우 아래와 같은 결과를 확인할 수 있다. mysql> select * from employee; Empty set (0.00 sec) mysql> select emp_id from employee where 1=2; Empty set (0.00 sec) mysql.. 2015. 7. 27.
[MySQL] Error Code: 1215. Cannot add foreign key constraint Error Code: 1215. Cannot add foreign key constraint MySQL 에서 외부키를 생성하는 중 오류가 발생하면 확인해 볼것 - 오타 - 문법 오류 - 외부키로 지정하는 칼럼이 기본키인지 여부 alter table [테이블명] add constraint [제약조건 명] foreign key([칼럼명]) references [외부테이블명]([외부 칼럼명(외부테이블의 기본키)]); alter table player add constraint player_fk foreign key(team_id) references team(team_id); 2015. 7. 24.
[MySQL] ERROR 1045 (28000): 에러 MySQL 접속시 "ERROR 1045 (28000):" 에러가 발생하면 패스워드가 틀린것임 mysql -h[주소] -P[포트] -u[유저명] -p[암호] http://zetawiki.com/wiki/MySQL_%EC%A0%91%EA%B7%BC_%EA%B1%B0%EB%B6%80_%EC%98%A4%EB%A5%98 2015. 7. 22.